Новачок у 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_
функції :-)