我有我的數據庫中的類別列表,我在下拉菜單中填充。該網站應該能夠顯示項目取決於用戶選擇的類別。MySQL查詢選擇具有特定項目的行
我現在的編碼:
if ($selected_cat == "All Item" || !isset($selected_cat)) {
$sql_select = "SELECT * FROM tblproduct";
}
else {
$sql_select = "SELECT * FROM tblproduct WHERE prodCat = '$selected_cat'";
}
$result = $conn->query($sql_select);
if ($result->num_rows > 0){
while($row = mysqli_fetch_assoc($result))
{
extract($row);
// some statement to display item
}
}
所以這裏的問題是,我的一些category's value
有apostrophic(')如Woman's Fashion
。如果我運行我的查詢,mysql將無法找到特定類別,因爲它讀取Woman's Fashion
爲女士時尚,但我的查詢$sql_select = "SELECT * FROM tblproduct WHERE prodCat = '$selected_cat'";
正在將其讀取爲女士時尚這是mysql中的錯誤格式。
學習使用參數化查詢。避免不必要的語法錯誤是最好的原因。避免SQL注入非常緊密。重新使用查詢計劃非常接近第三。而且,毫無疑問,其他真正的理由也是如此。 –