MYSQL PHP Where查询错误


MYSQL PHP Where query error

此行:$quey1="select * from clients WHERE USER == $current_user->user_login;";

它返回一个未知错误。我的代码中一定有一个简单的语法错误,但我似乎无法弄清楚。BTW $current_user->user_login;返回一个用户,例如admin

知道这里出了什么问题吗?我真的是新手(第一次接触php和mysql)

谢谢你的帮助!

$quey1 = "SELECT * FROM clients WHERE USER = '" . $current_user->user_login . "'"

你也应该照顾这些:

  • 逃逸
  • 准备好的报表
  • PDO

PHP变量可以在SQL查询中使用(如果将双引号用作单引号,则将其视为字符串文字(因此$something从字面上解释为$something,而不是变量),它们的值在查询时会被简单地替换,但变量操作是不可能的。最好的办法是用一个变量替换它。此外,查询中不需要分号,因为它被解释为列。==可以只替换为=,因为您正在提取数据,而不是设置数据:

$user = $current_user->user_login;
$quey1 = "select * from clients WHERE USER == $user";

MySQL中不需要双等于运算符。任何字符串比较都需要引号。

$quey1 = "select * from clients WHERE USER = '{$current_user->user_login}'";

您需要将current_user->user_login括在引号中。否则MySQL会认为它是一列。错误是没有名为"admin"的列。