代码:
<?php
$con = mysql_connect("localhost","root","");
$choose_db = mysql_select_db("tablenews",$con);
$show = mysql_query("select * from table where Genre='school life'");
$isi = mysql_fetch_array($show);
echo $isi['title'];
?>
我制作了这个PHP代码,我在phpmyadmin表新闻数据库中有3个电影标题:Genre='school life'
。
但为什么我的浏览器只用Genre='school life'
回应第一部电影片名? (第二次和第三次没有出现)。
我希望所有三个标题都出现在我的网站上。 感谢您的回复,任何回复都非常有用
答案 0 :(得分:3)
你需要一个循环:
while($isi = mysql_fetch_array($show)) {
echo $isi['title'];
}
答案 1 :(得分:1)
您必须在查询中为EACH行调用mysql_fetch_array,因为它每次调用时只返回一行。每个连续的调用将返回下一行,直到没有更多的行,然后它将返回false。所以你可以根据xdazz的答案创建一个循环(我不能赞成或者我愿意) (顺便说一句,mysql中的任何东西都被弃用了,除非你出于某种原因使用旧版本的php,否则你应该使用mysqli_fetch_array)
答案 2 :(得分:0)
这是因为mysql_fetch_array
一次只能获取一行,而您只调用该函数一次。要从resylt集中获取所有行,必须调用mysql_fetch_array
,直到它返回false值。
答案 3 :(得分:0)
<?php
$con = mysql_connect("localhost","root","");
$choose_db = mysql_select_db("tablenews",$con);
$show=mysql_query("select * from table where Genre='school life'");
while($isi=mysql_fetch_array($show);){
echo $isi['title'];
}
?>
问题是回声只会在循环使用时给你第一个结果。使用它如上所述获取所有已获取的值