PHP中没有数据通过MYSQL时出现错误信息?

时间:2012-09-20 20:12:14

标签: php mysql

我有一个php文件从MYSQL数据库中获取一些数据。到目前为止,这是我的代码:

<?php
    include 'DB.php';
    $connection=mysql_connect(DB_SERVER,DB_USER,PASS);
    $db=mysql_select_db(DB_Name);
    $sql="select * from lookup where id = ".$_GET['id'];
    $res=mysql_query($sql) or die(mysql_error());
    while($row=mysql_fetch_array($res))
        {
        echo $row['message'];
        }
?>

我必须添加什么才能在没有数据的情况下发送错误消息?我猜一个If / else语句,但我不确定如何使用while语法来适应它...任何帮助?

2 个答案:

答案 0 :(得分:1)

$res = mysql_query(...) ...;
if (mysql_num_rows($res) == 0) {
   die("Hey, nothing here!");
}

除此之外:

a)你完全容易受到SQL injection attacks的攻击。停止编码项目并在继续学习之前了解它们。

b)停止使用mysql _ *()函数。他们被弃用了。

答案 1 :(得分:0)

我就像上面提到的那样:

$query = "select * from lookup where id = ".$_GET['id'];
$result = mysql_query($query) or die ("Error in query: $query " . mysql_error());
$num_results = mysql_num_rows($result);
if ($num_results == 0){
echo "nothing here</br>";
}
else{
echo "<b> $num_results </b> result(s) match your query</br>";
while($row=mysql_fetch_array($res))
    {
    echo $row['message'];
    }

你当然可以将“echo $ num_results ...”留下来,但是你可以给出结果的数量,这有时非常有用。