我正在尝试读取 XML 文件并将其与现有数据库中的字段进行比较。
如果数据库中的ID在XML文件中不存在,则该Id对应的整行不再有效,将被删除。
为此,我在 while 语句中从头到尾阅读了 XML 的每一行。
作为第一步,我尝试做一个简单的比较,如果它在数据库中找到 XML 中不存在的 ID,则回显。
我知道数据库中有一些 Id 在 XML 中不存在,但是下面的代码没有显示它们。
我有三个问题,首先我如何显示从数据库中提取的 ID,其次为什么这段代码没有找到任何不在 XML 中的 ID?
最后一个问题是我是否以完全错误的方式进行此操作,是否有更好的方法来做到这一点!
$sql_result = mysql_query("SELECT id FROM `list` WHERE id = $id") or die(mysql_error());
if($sql_result)
{
// echo $id . " Id exists " . $sql_result["id"] . "\n";
}
else
{
echo "Id no longer exists" . $id . "\n";
}
最佳答案
您的代码没有找到您期望的结果,因为即使可能找不到 id,$sql_result
仍然持有一个 TRUE
值,因为查询成功了。相反,检查是否 myqsl_num_rows() > 0
if($mysql_num_rows($sql_result) > 0)
{
// echo $id . " Id exists "\n";
//Now, to print the id, you need to fetch it from `$sql_result`,
//which is just a resource at this point:
$row = mysql_fetch_assoc($sql_result);
echo $row['id'];
}
关于php - 如何使用PHP检查MySQL中是否存在一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6344779/