关于LIKE操作的SQL错误SQLSTATE [42000]

时间:2019-06-02 13:34:59

标签: php mysql

我想使用一个简单的查询进行搜索。

此查询在另一个页面和另一个表中正常工作。 我只是复制并粘贴了它。

这是查询

    $stmt = $pdo->prepare("SELECT * FROM _all_users WHERE fullname LIKE '%".$q."%' OR mobile LIKE '%".$q."%' ORDER BY time_stamp DESC");
    $stmt->execute();

它必须正在工作。但是我收到了这个错误

  

致命错误:未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误;请参阅附录A。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在/ var / www / _am / ajax / getLists中的第1行的'OR‌ mobile LIKE'%848%'ORDER BY time_stamp DESC LIMIT 15 OFFSET 0'附近使用。 php:171堆栈跟踪:#0 /var/www/_am/ajax/getLists.php(171):PDO-> prepare('SELECT * FROM _...')#1 {main}放在/ var / www中/_am/ajax/getLists.php,第171行

有什么主意吗?

1 个答案:

答案 0 :(得分:-1)

尝试

$stmt = $pdo->prepare("SELECT * FROM _all_users (WHERE fullname LIKE '%".$q."%' OR mobile LIKE '%".$q."%') ORDER BY time_stamp DESC");
    $stmt->execute();

$stmt = $pdo->prepare("SELECT * FROM _all_users WHERE (fullname LIKE '%".$q."%' OR mobile LIKE '%".$q."%') ORDER BY time_stamp DESC");
    $stmt->execute();