可能重复: 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中给出了boolean
我怎么能解决这个错误?
好吧,我想我看到了你的错误。在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;
}
为什么不对此表使用全文?如果您需要在表格中搜索记录,则在此模式下,全文搜索功能非常强大且速度更快。