Php: sql 错误 "Error: Unknown column ' RM' in 'where clause' with query"

标签 php mysql select

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

相关文章:

php - 如何在不为 Java Bridge 添加 tomcat 服务器的情况下将 Java 后端添加到现有 PHP 站点?

mysql - phpMyAdmin 显示受影响的行 = 0

mysql - 使用 StrongLoop 自动创建 mysql 表

mysql - Asterisk : reconnecting to remote mySQL?

php - Laravel 数据库备份失败

php - 调用未定义的方法 Slim\\Psr7\\Response::write()

php - MySQL - 复杂查询问题,多个表

sql - 如何从 SQL Server 数据库可视化 nvarchar(max) 的值,其中 max>65535?

mysql - 试图在另一个查询中使用查询结果......可能吗?

php - 在 php-fpm.conf 中加载 zend 扩展的正确方法是什么?