如何将$ 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分配。是否有更简单的方法来写这个,因为它一直在使用?
谢谢!
答案 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_
函数现已弃用。