简单的PHP MySQL检查行是否存在返回null结果

时间:2017-03-05 11:56:31

标签: php mysql

我正在尝试为我们的餐厅建立一个简单的邮政编码/邮政编码检查,以检查客户是否在我们所服务的邮政编码列表中。每次我查询邮政编码时,都会返回"未找到"结果,我无法解决原因。

 $result = mysql_query("SELECT * FROM functions-postcodes WHERE postcode = 'PO111XX'");
if(mysql_num_rows($result) == 0) {
     echo "Postcode not within coverage area (postcode not found in table)";
} else {
     echo "Postcode IS within coverage area";
}

以下是数据库表的外观: Database screenshot

1 个答案:

答案 0 :(得分:1)

您的表名中不应包含-。考虑将表重命名为functions_postcode或类似的东西。如果无法做到这一点,请使用反引号来转义(表)名称中的特殊字符:

SELECT * FROM `functions-postcodes` ...

那,并且:

  1. 如果未获得所需结果(在日志中或使用错误函数调用),请检查错误
  2. 停止使用mysql_*。他们是deprecated。请改用MySQLi或PDO。也可以使用准备好的陈述。