Php MySQL,其中包含多个列,如';%$平方%';返回空数组

Php MySQL,其中包含多个列,如';%$平方%';返回空数组,php,mysql,Php,Mysql,基本上,我正在用php和MySQL从头制作一个社交网络CMS 我需要搜索工作通过搜索用户的用户名,显示名称和电子邮件返回结果从上述任何一个 <?php require('core.common.php'); //Search page php $sq = htmlspecialchars($_GET['q'], ENT_QUOTES); $search = $db->prepare("SELECT username, disp_name, profilepic FROM u

基本上,我正在用php和MySQL从头制作一个社交网络CMS

我需要搜索工作通过搜索用户的用户名,显示名称和电子邮件返回结果从上述任何一个

<?php require('core.common.php');
//Search page php
$sq    = htmlspecialchars($_GET['q'], ENT_QUOTES);

$search = $db->prepare("SELECT username, disp_name, profilepic 
FROM users WHERE username OR disp_name OR email LIKE '%sq%';"); 
$search->execute();
$viewsearch = $search->fetchAll();
我已经试过了

"SELECT username, disp_name, profilepic FROM users WHERE username LIKE '%sq%'OR disp_name LIKE '%sq%'OR email LIKE '%sq%' ORDER BY username;"


再加上上面的几个变体,仍然没有希望。

我想你要找的是:

SELECT username, disp_name, profilepic 
FROM users 
WHERE username LIKE '%sq%'
OR disp_name LIKE '%sq%'
OR email LIKE '%sq%'
SELECT username, disp_name, profilepic 
FROM users 
WHERE username LIKE '%sq%'
    OR disp_name LIKE '%sq%'
    OR email LIKE '%sq%';

每个或条件都应该有一个测试所依据的值。如果像X或B一样的Y或C一样的Zdoes数据库必须使用某个存储引擎,我的是InnoDB不幸的是,这不起作用,它只返回数组(),你确定你有与此查询匹配的数据吗?我的主要测试帐户是mowglixx
SELECT username, disp_name, profilepic 
FROM users 
WHERE username LIKE '%sq%'
OR disp_name LIKE '%sq%'
OR email LIKE '%sq%'
SELECT username, disp_name, profilepic 
FROM users 
WHERE username LIKE '%sq%'
    OR disp_name LIKE '%sq%'
    OR email LIKE '%sq%';