如何在MySQL INSERT INTO数据库代码中添加IP地址?

时间:2013-11-14 22:24:33

标签: php mysql database

如何将$ ip地址表单字段添加到此数据库代码?

$form_vars = array('one','two','three');

$ip = getenv("REMOTE_ADDR");    

$query = "INSERT INTO recommended SET ";
for ($i = 0; $i < count($form_vars); $i++) {
 $query .= $form_vars[$i].'="'.AddSlashes($_REQUEST[$form_vars[$i]]).'",';              
}

$query .= 'DateTime="'.date('y/m/d g:i a').'"';
$result = mysql_query($query) or die("Error in query: $sql. ".mysql_error());

get $ IP行在那里但是我无法在插入中使用它。

我刚刚重用了这段代码,但似乎有3个$ query分配。是否有更简单的方法来写这个,因为它一直在使用?

谢谢!

1 个答案:

答案 0 :(得分:0)

你永远不会在数组中添加它:

$form_vars = array('one','two','three');
$ip = getenv("REMOTE_ADDR");    

$query = "INSERT INTO recommended SET ";
for ($i = 0; $i < count($form_vars); $i++) {
 $query .= $form_vars[$i]."='".mysql_real_escape_string($_REQUEST[$form_vars[$i]])."',";              
}
$query .= "my_ip_column = '". $ip . "',";
$query .= "DateTime='".date('y/m/d g:i a')."'";

注意我切换了双引号和单引号:在SQL中,字符串被简单的引号括起来。

您可以使用预准备语句,而不是转义所有用户输入。看看this document。您还可以阅读有关mysqli的所有文档。 mysql_函数现已弃用。