这段代码有什么问题?

时间:2009-08-22 06:28:23

标签: php mysql

我有以下代码:

function query_tip($title,$desc)
{
    $q1=("SELECT id, company, name FROM abc
            where ('$title' LIKE CONCAT('% ',company,' %') or
                   '$desc' LIKE CONCAT('% ',company,' %') or
                   '$title' LIKE CONCAT('% ',name,' %') or
                   '$desc' LIKE CONCAT('% ',name,' %'))
              AND company != ''
              AND name != ''");
    $r1=mysql_fetch_array($q1);
    $id=$r1['id'];
    return $id_nse;
}

这里,$ title包含的数据如“我的名字是anna”,$ desc的数据类似于“我是xyz公司的程序员,我在PHP平台上工作。”

然而,它给出了这个错误:

  

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /bin/whatever on line 2005

但是当我在命令提示符或我的数据库中运行此查询时,它运行正常,没有错误。

为什么这个查询在我通过PHP运行时会出错?

1 个答案:

答案 0 :(得分:3)

您没有运行查询。您可能还想检查您的查询(例如,如果它失败或将其记录到文件,则将其打印到屏幕上)。看起来有点奇怪。

$q1 = "SELECT id, company, name FROM abc where ('$title' LIKE CONCAT('% ',company,' %') or '$desc' LIKE CONCAT('% ',company,' %') or '$title' LIKE CONCAT('% ',name,' %') or '$desc' LIKE CONCAT('% ',name,' %')) AND company != '' AND name != ''";
$res = mysql_query($q1);
$r1 = mysql_fetch_array($res);