SQL的问题,PHP发送一条正确的查询,但是收到的数据却只是第一条,是哪个代码出错了?
<?phpinclude_once("conn.php");$sql="SELECTpre_forum_post.message,pre_forum_typeoption...
<?php
include_once("conn.php");
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
$rs = mysql_fetch_row($query);
echo print_r($rs);
?>
在服务器直接执行$sql那条语句是正常的,能把三条数据都正常查询出来,但是用上面的代码就不行。 展开
include_once("conn.php");
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
$rs = mysql_fetch_row($query);
echo print_r($rs);
?>
在服务器直接执行$sql那条语句是正常的,能把三条数据都正常查询出来,但是用上面的代码就不行。 展开
3个回答
展开全部
<?php
include_once("conn.php");
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
while($rs = mysql_fetch_row($query)){
$ros[] = $rs;
}
print_r($ros);
?>
这样才可以把所有的数据循环出来;
include_once("conn.php");
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
while($rs = mysql_fetch_row($query)){
$ros[] = $rs;
}
print_r($ros);
?>
这样才可以把所有的数据循环出来;
展开全部
楼主,你这样写肯定得到的是第一条呀,问题出在$rs = mysql_fetch_row($query);这里,使用mysql_fetch_row函数之后得到的是一个数组,你没有循环打印,所以得到的是第一条数据,如果要得到全部,就循环这个数组
function get_sqlresult(){
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
$rs = mysql_fetch_row($query);
$arr=array();
while(list($key,$val)=each($rs)){
$arr[$key]=$arr[$val];
}
retrun $arr;
}
这样就可以了,楼主多看看手册,函数解释中写了的那。
function get_sqlresult(){
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
$rs = mysql_fetch_row($query);
$arr=array();
while(list($key,$val)=each($rs)){
$arr[$key]=$arr[$val];
}
retrun $arr;
}
这样就可以了,楼主多看看手册,函数解释中写了的那。
追问
谢谢,不过奇怪,我把你的代码直接复制运行,然后结果还是只有第一条,我进数据库确定是有三条数据的啊
追答
$rs = mysql_fetch_row($query);
我这里写错了,应该是mysql_fetch_array,这样就对了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
include_once("conn.php");
$sql = "SELECT pre_forum_post.message, pre_forum_typeoptionvar.value FROM pre_forum_post,pre_forum_typeoptionvar WHERE pre_forum_typeoptionvar.tid=pre_forum_post.tid AND optionid=10" ;
$query = mysql_query($sql);
while ($rs = mysql_fetch_row($query)) {
print_r($rs);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询