如果数据库php中不存在记录,则显示自定义消息

时间:2012-03-19 14:47:20

标签: php database message record

如果数据库中不存在记录,是否可以显示自定义错误消息?

例如,此页面作为数据库中的记录存在:

testpage.php?recordID=123456

而该记录不是:

testpage.php?recordID=857389

4 个答案:

答案 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);

}