我有一個名稱通常包含撇號的山脈數據庫,例如, Beinn A'Chroin。我的所有搜索條件都能正常工作,除非用戶通過帶有撇號的表單(即Beinn A'Chroin)輸入搜索內容,然後拋出一個錯誤 - Beinn A將起作用,Chroin將起作用,但從未使用撇號。由於大多數用戶都會不約而同地插入適當的名稱,包括撇號我總是喜歡有它在表中的數據 - 您的幫助表示讚賞 - 感謝約翰SQL - 當用戶輸入搜索條件包含撇號時,數據庫搜索會出錯
我的代碼相對部分是:
$srch = $_POST['srch'];
// Prepare query
// Named Mountain Search Search for:
if ($srch != '') { //Options for specific walk types in a specific area selected
$query = "SELECT walk, status, distance, report, dateofwalk FROM walkslist WHERE walk LIKE '%$srch%' ORDER BY walk ASC;";
嘗試用兩個撇號替換用戶的撇號。不確定的MySQL,但一些SQL服務器處理撇號的方式 – Sparky