2014-03-24 57 views
0

運行以下查詢在mySQL on phpmyadmin中的用戶搜索中完美工作。concat條件不工作在php pdo中,但在mySQL中運行

SELECT user_id, fname, lname, email FROM users WHERE fname LIKE '%Scott James%' OR lname LIKE '%Scott James%' OR CONCAT(fname,' ',lname) LIKE '%Scott James%' 

但是,如果我嘗試通過生產環境中的php來運行它,它似乎會崩潰。任何人有任何想法?

$word = $_REQUEST['search']; 

$search_query='SELECT user_id, fname, lname, email FROM users WHERE fname LIKE :search OR lname LIKE :search OR CONCAT(fname,' ',lname) LIKE :search'; 

$stmt= $conn->prepare($search_query); 
$stmt->execute(array(
    ':search' => '%'.$word.'%', 
    ':user_id' => $user_id 
    )); 
+0

1.這是什麼' ':USER_ID'=> $ user_id'的事情嗎? 2.定義「不工作」AKA「更換」更多技術術語 –

+0

添加一些信息轉儲以幫助您。例如,將try放在try-catch中並輸出異常消息。 – markdwhite

+0

@markdwhite try-catch不需要獲取異常。 –

回答

1
  1. 請確保PDO是在仿真模式,使具有相同名稱的
  2. 擺脫這種':user_id' => $user_id東西多個參數。
  3. 確保PDO是異常模式,你可以看到PHP錯誤
相關問題