我有這條從客戶表返回行的sql語句。用戶可以選擇搜索他們想要輸入的內容。我有這個工作,直到我試圖通過使用bindValue防止sql注入。現在,除非用戶將文本框留空,否則無法返回任何結果。以下是我的代碼。僅在空時獲取結果
型號
function searchMyCusts($field, $query){
$data = null;
$msg = null;
$status = null;
$sth = $this->db->prepare("SELECT ".CustomerFields::ID.",".CustomerFields::FirstName.",".CustomerFields::LastName.",".CustomerFields::PhoneNumber." FROM ".CustomerFields::TableName." WHERE '$field' LIKE :query");
$sth->bindValue(':query', $query);
if ($sth->execute()){
$status = "success";
$msg = "Customer entry successfully altered";
$data = $this->smartFetchAll($sth);
}else{
$status = "error";
$msg = "An error occurred. :".$sth->errorInfo()[2];
}
$jsonData = json_encode($this->buildResponseArray($status, $msg, $data));
return $jsonData;
}
。在我在傳遞的價值到底準備行。就像我說這是工作,直到我試圖bindValue查詢變量。
我將不勝感激您的任何見解。提前致謝!
問候
請添加對您所使用的語言(PHP等) – 2013-05-11 20:34:59
你能不能再發表'回聲$ query'相應的標記你準備好了嗎? – peterm 2013-05-11 21:05:16