0

如何将 $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。有没有更简单的方法来写这个,因为它一直都在使用?

谢谢!

4

1 回答 1

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 中,字符串被单引号包围。

您可以使用准备好的语句,而不是转义所有用户输入。看看这个文件。您还可以阅读有关 mysqli 的所有文档。mysql_功能现已弃用。

于 2013-11-14T22:50:19.113 回答