0

PHPとMySQLを初めて使用する場合、このWebサイトについてLeoLaporteなどから驚くべきことを聞いたことがあるでしょう。私は非常に基本的な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

4 に答える 4

2

Check to see how many rows were returned. If no rows were returned, you can display an error.

$sql = mysql_query("select * from test_database where LN like '%$term%'");
if (mysql_num_rows($sql)) {
    // continue as normal
} else {
    echo "Error!";
}
于 2012-06-11T23:01:32.733 に答える
0
if (mysql_num_rows($sql)==0){
    //error
}else{
    //process data, while loop
}

and of course don't use mysql_ functions :-)

于 2012-06-11T23:01:38.083 に答える
0

Use mysql_num_rows to test the number of rows in the result. 0 for no results.

于 2012-06-11T23:02:05.913 に答える
0

Keeping it simple... use 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/>';
    }
}


?>
于 2012-06-11T23:02:10.687 に答える