使用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查询之前,请先对其进行清理!