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';
?> 展开
程序如下:
<?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';
?> 展开
4个回答
展开全部
改成这样,
$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)){
把你后面的加上去
$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)){
把你后面的加上去
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
报的是没有正确的资源结果集,也就是说根本没查询到数据,你打开数据库,对应着查询就会发现。处理方式 ,先打印出sql,echo $sql;然后复制到phpmyadmin里面去查询。如果为空,插入条语句测试(要满足条件哦)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你有选择数据库吗?
如果有,你试试把sql 输出来,copy到数据库查询一下,看看能否查询
如果有,你试试把sql 输出来,copy到数据库查询一下,看看能否查询
追问
有啊,数据库是phpadmin,老师让交作业,但我是个菜鸟,对编程不是很在行,求帮忙
追答
你确定之前用过 mysql_select_db('phpadmin');
如果没有就加在16行前
如果没有
在16行之前加 echo $sql;
然后页面刷新一下,看输出什么sql语句,把sql语句copy到数据库里查询一下看看有没有问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询