首页 > 解决方案 > php:sql错误“错误:带有查询的'where子句'中的未知列'RM'”

问题描述

我正在尝试创建一个 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

当我打印错误时,它还会打印我创建的选择:

从 ID_PERSON = RM120463 和 NAME_PERSON = 马里奥和姓氏 = 罗西的人中选择城市、地址、帽子

如果查询组成正确,为什么会给我错误?

谢谢只有你能帮助我!!!!

标签: phpmysqlselect

解决方案


你忘记了引号:

"SELECT CITY, ADRESS, CAP FROM PEOPLE WHERE  ID_PERSON = '$idperson'  AND NAME_PERSON = '$name'  AND SURNAME = '$surname'"

顺便说一句,我看不到您的所有代码,但可能对 SQL 注入很敏感。看看您是否直接使用输入 ($var = $_POST['...']) 中的数据并替换为准备好的语句和绑定参数。


推荐阅读