我有一个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语法来适应它...任何帮助?
答案 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 ...”留下来,但是你可以给出结果的数量,这有时非常有用。