0
我的問題很簡單,但我沒有發現任何問題或答案this.I意味着他們不是我的情況的解決方案是行不通的。 這是我的代碼。%%在MySQL中的語法跡象時,有一個精確匹配
$characters = $_GET["search"];
$characters2 = "%". $characters . "%" ;
$statement = $connection->prepare(
"SELECT name,username FROM users WHERE 'name' LIKE :username or 'username' LIKE :username");
$statement->bindParam(':username', $characters2, PDO::PARAM_STR);
$statement->execute();
問題是,如果你在數據庫中的名稱列有大衛和你的$ _GET [「搜索」]爲「DAVI」或「大衛」,它無法找到大衛一行。
返回空。
我不認爲你需要「名」引用。但我可能是錯的。我覺得這只是比較'名字'和'大衛' – DJSweetness
@DJSweetness你沒有錯,而且正如所寫的,這是胡說,這就是爲什麼OP認爲它的工作不正確。 OP,在你的字段名稱周圍使用反引號(不是單引號),並在你的搜索條件中使用單引號:'WHERE name LIKE':username'or username LIKE':username'' – JNevill
@JNevill根據這個資源http:// php .net/manual/tr/pdostatement.bindparam.php#99698你的「圍繞你的搜索詞使用單引號」是錯誤的,但我並沒有在我的字段名稱周圍使用單引號。 –