/ / Як відобразити помилку при пошуку MySQL за допомогою PHP - php, mysql

Як відобразити помилку під час пошуку MySQL за допомогою PHP - 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/>";
}


?>

Відповіді:

0 для відповіді № 1

Зберігаючи це просто ... використовуйте 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/>";
}
}


?>

2 для відповіді № 2

Перевірте, скільки рядків було повернуто. Якщо рядків не повернуто, ви можете відобразити помилку.

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

0 для відповіді № 3

Використовуйте mysql_num_rows для тестування кількості рядків в результаті. 0 немає результатів.


0 для відповіді № 4
if (mysql_num_rows($sql)==0){
//error
}else{
//process data, while loop
}

і звичайно, не використовуйте mysql_ функції :-)