判断资料库有资料我要判断资料表"Tab_A"的"ID1"栏有没有"HAOLO",我用这样<?php$con = mysql_connect("htt","name1","pass1");
if (!$con)
{
die('无法连:' . mysql_error());
}mysql_select_db("a1_testsql", $con);
$result=mysql_query("select * from Tab_A where ID1 = 'HALO' ");if (!$result) {
echo '没HALO' ;
}else{
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ID1'] . "</td>";
echo "<td>" . $row['b'] . "</td>";
echo "</tr>";
}
}
?>但资料库有或没HALO的时候,这网页都只会显示else的部分,
有资料就会显示正确的全部ID1和b,没资料就会显示全空、没字,
为什么都没显示echo '没HALO' ;呢?我改过:if ($result == 0) {

if ($result <= 0) {
if ($result == '') {
都一样不会管资料表有没有"HALO",就只会显示else的部分。
我用两星期找答案了,只好来问了。

解决方案 »

  1.   

    $result是个资源类型,判断不了。你可以用mysql_num_rows来得到结果集的数目,然后再判断。if(!mysql_num_rows ( $result )){
    echo '没HALO' ;
    }
      

  2.   

    你应该去看看 mysql_query 的用法
    返回值mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。用 mysql_num_rows 来判断结果集条数就可以了。
      

  3.   


    //省略数据库连接部分
    $result=mysql_query("select * from Tab_A where ID1 = 'HALO' ");
    if(mysql_num_rows($result)>0){//判断结果集行数是否=0,若=0则不存在反之存在
    echo "HALO存在";
    }else{
    echo "HALO不存在";
    }