php检索数据库时先自己打印出来sql语句,然后提示Warning: mysql_fetch_row() expects parameter 1 to be

源码在这里,主要是来检索一个或者多个关键字的,提示是语法错了,但是不知道是哪里错了:<?phpinclude_once'mysql_config.php';$db=new... 源码在这里,主要是来检索一个或者多个关键字的,提示是语法错了,但是不知道是哪里错了:
<?php
include_once 'mysql_config.php';
$db=new mysql("localhost","root","","test","test");
if (@$_GET["key"]){
$key_word=explode(" ", $_GET["key"]);
$key_num=count($key_word);
$sql="SELECT * FROM test WHERE name LIKE '%$key_word[0]%'";
for ($i=0;$i<$key_num;$i++){
$replace[$i]="<font color=red><b>$key_word[$i]</b></font>";
}
//print_r($replace);
for ($j=0;$j<$key_num-1;$j++){
$key_tem=$key_word[$j+1];
$sql=$sql."or name LIKE '%$key_tem%' ";
}
$result=$db->query($sql);
while ($r=$db->fetch_row($result)){
for ($k=0;$k<$key_num;$k++){
$mode=$key_word[$k];
$r[1]=preg_replace("/$mode/i",$replace[$k], $r[1]);
}
echo $r[1]."<br>";
}
}
?>
<form action="" method="get">
关键字:
<input type="text" name="key">
<input type="submit" name="sub" value="全站检索">
</form>
展开
 我来答
aiitw
2012-11-28 · 超过69用户采纳过TA的回答
知道答主
回答量:347
采纳率:0%
帮助的人:187万
展开全部
一般这样的错误都是资源结果,这里是你的$query并没有获得到。往前找原因
追问
他执行错误之后,提示了语句,我把语句复制到数据库里面直接查询,能查询到结果
追答
那你就在程序里把结果一步步打印出来看看有没
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上官元恒zsd
2012-11-28 · TA获得超过1770个赞
知道小有建树答主
回答量:3799
采纳率:28%
帮助的人:1181万
展开全部
有了 'mysql_config.php';为什么还要$db=new mysql("localhost","root","","test","test");这句
你想用面向对象,又用错了
追问
类名是mysql。。。。前面用到了包含文件
追答
那你可以在mysql里include_once 'mysql_config.php';啊
你这样写相当于打开了数据库2次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
燃烧我的卡路里灬
2012-11-28 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:416
采纳率:100%
帮助的人:215万
展开全部
mysql_fetch_row()

这个函数少参,你去检查下你的mysql_config文件,看下有没有写错
追问
没有啊 源码:类太长了 只写函数
function fetch_row($query) {
return mysql_fetch_row($query);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式