我正在尝试创建一个 php 文件来搜索我在 ubuntu 中使用 mysql 创建的数据库,但是当我运行查询时出现此错误,但我不明白为什么!当我打印错误时,我传递的数据是正确的并显示在字符串中!!!!!
我认为这是一个语法错误,但我不知道它在哪里!!!!
这是我创建字符串并执行查询的摘录:
$sql_find = ("SELECT CITY, ADRESS, CAP FROM PEOPLE WHERE ID_PERSON = $idperson AND NAME_PERSON = $name AND SURNAME = $surname ") ;
print $sql_find;
$result= mysqli_query($connect,$sql_find) or die ("Error: ". mysqli_error($connect)." with query ");
传递的数据是我在应用程序中创建的人的姓名和 ID。 示例:
$idperson=RM120463 $name = Mario $surname = Rossi
当我打印错误时,它还会打印我创建的选择,即:
SELECT CITY, ADRESS, CAP FROM PEOPLE WHERE ID_PERSON = RM120463 AND NAME_PERSON = Mario AND SURNAME = Rossi
如果查询组合正确,为什么会出现错误?
谢谢你能帮助我!!!!
最佳答案
您忘记了引号:
"SELECT CITY, ADRESS, CAP FROM PEOPLE WHERE ID_PERSON = '$idperson' AND NAME_PERSON = '$name' AND SURNAME = '$surname'"
顺便说一句,我看不到你的所有代码,但可能容易受到 SQL 注入(inject)攻击。看一下您是否直接使用来自 using input ($var = $_POST['...']) 的数据,并替换为准备好的语句和绑定(bind)参数。
关于Php: sql 错误 "Error: Unknown column ' RM' in 'where clause' with query",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50238271/