Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php参数构建sql查询字符串_Php_Sql - Fatal编程技术网

使用php参数构建sql查询字符串

使用php参数构建sql查询字符串,php,sql,Php,Sql,我试图这么做,但它返回空值 $query_1=$field_name[0]."='{".$field_value[0]."}'"; 然后 getType = mysql_query("SELECT * FROM wines WHERE $query_1") or die(mysql_error()); 如果我喜欢这样: $getType = mysql_query("SELECT * FROM wines WHERE $field_name[0]='{$field_value[0]}'")

我试图这么做,但它返回空值

$query_1=$field_name[0]."='{".$field_value[0]."}'";
然后

getType = mysql_query("SELECT * FROM wines WHERE $query_1") or die(mysql_error());
如果我喜欢这样:

 $getType = mysql_query("SELECT * FROM wines WHERE $field_name[0]='{$field_value[0]}'") or die(mysql_error());
它很好用

这是可能的,还是我遗漏了太明显的东西?
提前谢谢你

你把它建错了。在SQL查询中不应使用花括号(或任何其他字符串)。而是连接查询

像这样:

$query_1=$field_name[0]."='".$field_value[0]."'";
哦,你在查询前漏掉了一个$,这就是为什么它为空。

这对我很有用:

$field_name[0] = "test"; $field_value[0] = "someting"; $query_1=$field_name[0]."='".$field_value[0]."'"; echo ("SELECT * FROM wines WHERE $query_1") or die(mysql_error()); $field_name[0]=“测试”; $field_value[0]=“someting”; $query_1=$field_name[0]。“='”。$field_value[0]。“'”; echo(“SELECT*FROM wines WHERE$query_1”)或die(mysql_error());
希望有帮助

解决方案在下面的答案中,但您应该真正意识到,如果您这样做,SQL注入的风险很高。在将输入直接用于SQL查询之前,请先对其进行清理!