我一直使用PHP函數strpos查找包含從數據庫字符串的字符結果:如何使用Strpos而不是While語句從MySQL DB中選擇結果?
User Types: Hel
Results: Hello, Hell, Helli, Hella
我有它基本上查詢整個表:
$result = mysql_query("SELECT * FROM Events");
然後跑了同時查看哪些結果包含輸入的字符:
while($row = mysql_fetch_array($result))
{
$pos = strpos($row['Title'], $q);
if ($pos === false) {
} else {
echo $row['Title'];
}
}
要找到結果的數量,我正在使用:
$n = $n++
while語句的內部。
我知道你可以使用:
$num_rows = mysql_num_rows($result);
要查找的結果,如果你只選擇從數據庫的值的數量,但我必須用這個while語句查找號碼匹配strpos函數的結果?或者我可以將strpos放入Select From查詢中嗎?
任何幫助是極大的讚賞,
泰勒
謝謝。我以上述方式做這件事感覺很蠢。我想知道,什麼是addslashes()爲? – TaylorMac 2011-05-13 21:51:03
它在提供的字符串中轉義引號。永遠不要相信最終用戶。你想確保他們不會惹你的數據庫做他們不應該做的事情。如果你沒有addslashes(),用戶可以輸入''; DROP TABLE Events;'擺脫你的整個桌子。這將確保他們的報價逃脫,所以他們不能運行任何你不想要的東西。 – Crashspeeder 2011-05-13 23:17:57