php编程留言板问题,请大神们帮帮忙,谢谢了

Warning:mysql_fetch_array():suppliedargumentisnotavalidMySQLresultresourceinD:\PHPnow... Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\PHPnow-1.5.6\htdocs\liuyanban\message\index.php on line 16
程序如下:

<?php
require 'header.inc.php';
?>

<?php

if(!empty($_POST['keys'])){
$keys = $_POST['keys'];
$s = "`title` LIKE '%$keys%' or `contents` LIKE '%$keys%'";
}else{
$s = 1;
}

$sql = "SELECT * FROM `message` WHERE ".$s." ORDER BY `id` desc LIMIT 0,5";
$query = mysql_query($sql);
while($out = mysql_fetch_array($query)){
//循环输出每个留言
?>
<h3>标题: <a href="view.php?id=<?php echo $out['id'] ?>"><?php echo $out['title'] ?></a></h3>
<h6>时间: <?php echo $out['dates'] ?> 浏览: <?php echo $out['hits'] ?></h6>
<h4>内容: <?php echo iconv_substr($out['contents'],0,5,"UTF-8") ?>......</h4>
<h5>|<a href="edit.php?id=<?php echo $out['id'] ?>">编辑</a>|<a href="del.php?id=<?php echo $out['id'] ?>">删除</a>|</h5>
<hr>
<?php
}
require 'footer.inc.php';
?>
展开
 我来答
百度网友a19d193
2014-06-10 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1444万
展开全部
sql语句本身有问题,echo $sql看看吧
追问
弱弱的问一句,怎么输出sql啊?能否详细一点
追答
就在你$sql=...那句后面写echo $sql;
然后执行一下就能看到最终的sql语句了,这个sql语句本身应该有错误,你可以在mysql的命令行上执行一下看看,或者phpmyadmin上面执行一下都行
杜亚哲cLiyV
2014-06-10 · TA获得超过113个赞
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:96万
展开全部
改成这样,
$s = " 1=1";
if(!empty($_POST['keys'])){
$keys = $_POST['keys'];
$s = " and title LIKE '%{$keys}%' or `contents` LIKE '%{$keys}%' ";
}
$sql = "SELECT * FROM `message` WHERE ".$s." ORDER BY `id` desc LIMIT 0,5";
$query = mysql_query($sql);
while($out = mysql_fetch_array($query)){
把你后面的加上去
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
软件开发枫老师
2014-06-10 · TA获得超过585个赞
知道小有建树答主
回答量:599
采纳率:63%
帮助的人:319万
展开全部
报的是没有正确的资源结果集,也就是说根本没查询到数据,你打开数据库,对应着查询就会发现。处理方式 ,先打印出sql,echo $sql;然后复制到phpmyadmin里面去查询。如果为空,插入条语句测试(要满足条件哦)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9b7e348b0
2014-06-10 · 超过11用户采纳过TA的回答
知道答主
回答量:49
采纳率:100%
帮助的人:13.9万
展开全部
你有选择数据库吗?
如果有,你试试把sql 输出来,copy到数据库查询一下,看看能否查询
追问
有啊,数据库是phpadmin,老师让交作业,但我是个菜鸟,对编程不是很在行,求帮忙
追答
你确定之前用过 mysql_select_db('phpadmin');

如果没有就加在16行前
如果没有
在16行之前加 echo $sql;
然后页面刷新一下,看输出什么sql语句,把sql语句copy到数据库里查询一下看看有没有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式