"where 子句"中的未知列'AG'



我得到这个错误的错误(标题)在这样一个简单的查询:

function getBranch($BranchID){
$query = "SELECT Branch FROM Branches WHERE BranchID = {$BranchID}";
$r = mysql_query($query);
if (!$r) echo "Failed Query: " . mysql_error();
  else return mysql_result($r, 0);
}

我知道mysql_函数被弃用,我知道列'分支'确实存在。var $BranchID在调用时是'AG',我已经检查过了,这是一个有效值。

您不应该使用已弃用的mysql_*函数。使用PDO和参数化查询要好得多。

查询的具体问题是您的字符串值周围缺少引号:

$query = "SELECT Branch FROM Branches WHERE BranchID = '$BranchID'";

您还应该确保使用mysql_real_escape_string正确转义该值。

$query = "SELECT Branch FROM Branches WHERE BranchID = '" . 
          mysql_real_escape_string($BranchID) . "'";

    如何在PHP中防止SQL注入?

相关内容

  • 没有找到相关文章

最新更新