可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
我正在运行查询:
$result = mysql_query("SELECT *, CONCAT(fname, ' ', lname) AS fullname FROM `users` WHERE fullname LIKE '%$keyword%' ");
while ($myrow = mysql_fetch_array($result)) {
$fname = $myrow['fname'];
echo $fname;
}
fullname
由两个以空格分隔的名称组成
我有一个错误:
警告:mysql_fetch_array()要求参数1为资源,第8行的localhost \ search.php中给出布尔值
我如何解决此错误?
答案 0 :(得分:1)
好的,我想我看到了你的错误。在MySQL中,您不能在where子句中使用命名列(fullname)。因为当执行where子句时,尚未提取行。以下不应该导致任何问题:
$result = mysql_query("
SELECT
*,
CONCAT(fname, ' ', lname) AS fullname
FROM users
WHERE
CONCAT(fname, ' ', lname) LIKE '%$keyword%'
");
while ($myrow = mysql_fetch_array($result)) {
$fname = $myrow['fname']; echo $fname;
}
答案 1 :(得分:0)
为什么不对此表使用全文? 如果您需要在表格中搜索记录,则在此模式下,全文搜索功能非常强大且速度更快。