繁体   English   中英

如何在CakePHP 2.x中通过INET_ATON保存IP地址?

[英]How to Save IP address By INET_ATON in CakePHP 2.x?

我想使用MySQL INET_ATON函数通过CakePHP 2.x保存IP地址吗? 我的代码在这里,无法正常工作!

$this->loadModel('MyModel');
$data = array();
$ip = '8.8.8.8';
$data['ip'] = 'INET_ATON('.$ip.')';
$this->MyModel->save($data);

而且我不使用$this->MyModel->query()

例如:

$this->MyModel->query("INSERT INTO `my_table` (`ip`) VALUES (INET_ATON('8.8.8.8'))")

使用此代码。 正确工作。

$this->loadModel('MyModel');
$data = array();
$ip = '8.8.8.8';
$data['MyModel']['ip'] = DboSource::expression('INET_ATON("'.$ip.'")');
$this->MyModel->save($data);

您可以使用ip2long函数将ip转换为int,并将其保存在Db中,如下所示:

$this->loadModel('MyModel');
$data = array();
$ip = '8.8.8.8';
$data['MyModel']['ip'] = ip2long($ip);
$this->MyModel->save($data);

谢谢..!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM