很不好意思,问这个问题实在非常弱智。不过实在找了很多资料都没有看明白,只好厚脸皮来求助了。(因为半路出家,很多东西都不扎实呀)我想实现的目的是把数据库里符合条件的一些字符段里面的词语替换成指定的词语。麻烦大家帮忙看怎么做。谢谢了
=========我写的代码========<?php
include("config.php");
$db = mysql_connect($dbhost,$dbuser,$dbpw); 
mysql_select_db("$dbname");
if ($db) { 
echo "连接成功!
"; 
} else { 
echo "连接失败!
"; 

$result = mysql_query("SELECT itemid FROM `supe_spaceitems` where(UNIX_TIMESTAMP( ) -14400) < `dateline` )");
echo $result[1];
$newupdate = mysql_fetch_array($result);printf ("newupdate=$newupdate
");
for($i=0;$i<count($newupdate);$i++);
{
$sql = 'UPDATE supe_spacenews SET message = REPLACE( message, \'不雅用语1\', \'太好了\' ) WHERE (itemid=$newupdate($i))';printf ("$newupdate($i)
");
$sql = 'UPDATE supe_spacenews SET message = REPLACE( message, \'不雅用语2\', \'好漂亮\' ) WHERE (itemid=$newupdate($i))'; 
$sql = 'UPDATE supe_spacenews SET message = REPLACE( message, \'不雅用语3\', \'好喜欢\' ) WHERE (itemid=$newupdate($i))'; 
echo "第".$i."次过滤ok
";
}
?>
========出错信息=========连接成功,给分吧!:)Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\Discuz!EXP\wwwroot\ss55\testsql.php on line 12
newupdate=
(1)
第1次过滤ok
======================================= 但是实际上没有过滤

解决方案 »

  1.   

    supplied argument is not a valid MySQL result resource in检查你的SQL 语句 。
      

  2.   

    SELECT itemid FROM `supe_spaceitems` where(UNIX_TIMESTAMP( ) -14400) < `dateline` )改成
    SELECT itemid FROM `supe_spaceitems` where(UNIX_TIMESTAMP( ) -14400) < `dateline` 其实就是去掉最后面的右扩号
      

  3.   

    确实是括号的问题,但是问题还是没有解决,我把代码简化了,麻烦帮我看看到底是哪里出错。<?php
    //连接数据库
    include("config.php");
    $db = mysql_connect($dbhost,$dbuser,$dbpw); //检验连接效果
    mysql_select_db("$dbname");
    if ($db) { 
    echo "数据库连接成功!<br>"; 
    } else { 
    echo "数据库连接失败!<br>"; 
    } //sql查询替换不雅词语
    $sql = "update supe_spacenews set message = REPLACE( message, '不雅词语1', '真是太高兴了' ) WHERE itemid=104"; 
    $newupdate=mysql_db_query($dbname, $sql, $db);//检验替换结果
    if ($newupdate){
    print "<br>update sucess";
    }
    else{
    print "<br>update fail";
    }
    ?>