你先用 echo $sql; 看看你的sql语句是什么东西先!

解决方案 »

  1.   

    可能是因为$row(keyword)被单引号包含的原因比如
    ----------
    $b='b';
    $a='this is $b';
    ---------
    $a的值将是“this is $b”而不是“this is b”。php解析器不解析包含在单引号界定符内的变量。不过,通过你的上下文解析器应该认为“'”是普通字符的,难道是php解析器的缺陷?呵呵
      

  2.   

    function list_keyword(){
    global $dbhost,$dbuser,$dbpasswd,$dbname,$news_table;
    $sql = "SELECT * FROM $news_table WHERE keywords='$row[keyword]'";
    $result = mysql_db_query($dbname, $sql);
    while ($row=mysql_fetch_array($result)){ 
    echo "$row[title]<br>\n";
    }
    }整个函数是这样子写的
    如果把$row[keyword]随便改为一个关键字就正常了
    求大家指教
      

  3.   

    我用echo $sql;的时候取不到任何值为
    SELECT * FROM article WHERE keywords ''我晕啊
      

  4.   

    换成这样子试试$sql = "SELECT * FROM " .$news_table. " WHERE keywords='" .$row[keyword]. "'";
      

  5.   

    那先将$row[keyword]赋值,再keywords=\"$var\" 呢?
      

  6.   

    那先将$row[keyword]赋值,再keywords=\"$var\" 呢?这个方法昨天晚上试过的
    不行的
    555~~
      

  7.   

    你的函数里面没有给 $row 赋值啊