使用PHP搜索MySQL时如何显示错误

时间:2012-06-11 22:58:12

标签: php mysql

PHP和MySQL的新手,从Leo Laporte和其他人那里听说过这个网站的惊人之处。我使用一个非常基本的PHP脚本来搜索人名的MySQL数据库。我想知道如果数据库中没有这个名称,我怎么能让搜索提供错误。

</p><?php

mysql_connect ("mysql.mydomain.us", "pnq_1","passwordremoved")  or die (mysql_error());
mysql_select_db ("pnq_soldiers");

$term = $_POST['term'];

$sql = mysql_query("select * from test_database where LN like '%$term%'");

while ($row = mysql_fetch_array($sql)){
    echo 'Last Name: '.$row['LN'];
    echo '<br/> First Name: '.$row['FN'];
    echo '<br/> Middle Initial: '.$row['MI'];
    echo '<br/> Rank: '.$row['RNK'];
    echo '<br/> Company: '.$row['CO'];
    echo '<br/> Platoon: '.$row['PL'];
    echo '<br/> Roster Number: '.$row['RN'];
    echo '<br/><br/>';
    }


?>

4 个答案:

答案 0 :(得分:2)

检查返回的行数。如果未返回任何行,则可以显示错误。

$sql = mysql_query("select * from test_database where LN like '%$term%'");
if (mysql_num_rows($sql)) {
    // continue as normal
} else {
    echo "Error!";
}

答案 1 :(得分:0)

if (mysql_num_rows($sql)==0){
    //error
}else{
    //process data, while loop
}

当然不要使用mysql_函数: - )

答案 2 :(得分:0)

使用mysql_num_rows测试结果中的行数。 0表示没有结果。

答案 3 :(得分:0)

保持简单......使用mysql_num_rows()

</p><?php

mysql_connect ("mysql.mydomain.us", "pnq_1","passwordremoved")  or die (mysql_error());
mysql_select_db ("pnq_soldiers");

$term = $_POST['term'];

$sql = mysql_query("select * from test_database where LN like '%$term%'");

if(mysql_num_rows($sql) < 1) {

    echo 'Couldn\'t find anything for '.$term.'.';
}
else {

while ($row = mysql_fetch_array($sql)){
    echo 'Last Name: '.$row['LN'];
    echo '<br/> First Name: '.$row['FN'];
    echo '<br/> Middle Initial: '.$row['MI'];
    echo '<br/> Rank: '.$row['RNK'];
    echo '<br/> Company: '.$row['CO'];
    echo '<br/> Platoon: '.$row['PL'];
    echo '<br/> Roster Number: '.$row['RN'];
    echo '<br/><br/>';
    }
}


?>