2014-03-24 31 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错误
相关问题