如果数据库中不存在记录,是否可以显示自定义错误消息?
例如,此页面作为数据库中的记录存在:
testpage.php?recordID=123456
而该记录不是:
testpage.php?recordID=857389
答案 0 :(得分:1)
您需要使用mysql_num_rows()检查返回的行数。如果存在记录,mysql_num_rows
将返回1或更大(与查询匹配的行数)。
您可能还想先检查查询是否实际运行,或者是否遇到了sql错误。它将详细说明mysql_error()中的错误。
$query = mysql_query($example_sql);
if (!$query = mysql_query($example_sql))
{
trigger_error(' Mysql_error: ' . mysql_error() . " SQL: " . $example_sql, E_USER_WARNING); //Outputs the error to your error log
echo "There was an error contacting the database.";
}
else if (mysql_num_rows($query) <= 0)
{
echo "That record does not exist.";
}
else
{
//Query returned 1 or more rows, output as normal
}
答案 1 :(得分:0)
您需要检查该记录ID返回的结果数量:
<?php
$recordID = $_GET['recordID'];
$sqldb = /*create database connection here*/
$result = mysql_query("SELECT * FROM your_table WHERE id = " . $recordID, $sqldb);
$num_rows = mysql_num_rows($result);
if($num_rows > 0)
{
echo "record exists with id " . $recordID;
}else
{
echo "record doesn't exist with id " . $recordID;
}
?>
答案 2 :(得分:0)
如果数据库中不存在记录,是否可以显示自定义错误消息?
是。
通常,接收此类变量的页面由查询数据库的代码组成。得到一些结果。
禁止使用条件运算符检查此类结果并显示任何消息(最有可能是HTTP 404响应)。
答案 3 :(得分:-3)
你可以计算行mysql_num_rows
,然后这将允许你查找ID是否存在,1行=存在,0行=不存在。
if (mysql_num_rows($query) < 1) {
print "This record does not exist);
}