新人。还是while循环的问题。。
<?php $con = mysql_connect('localhost', 'peter', 'abc123'); mysql_select_db("my_db", $con); $sql="SELECT * FROM person WHERE id = '1'"; $result = mysql_query($sql, $con); while($row = mysql_fetch_array($result)) //为什么下面的内容只循环1次??mysql_fetch_array($result))获得的到底是字符串还是数值还是? { echo "<div>" . $row['FirstName'] . "</div>"; echo "<div>" . $row['LastName'] . "</div>"; } mysql_close($con); ?>
上面语句输出内容
Peter
Griffin
数据库内容
id FirstName LastName
1 Peter Griffin
2 Lois fin
<?php
while($cc="array")
{echo "d";}
?>
这样是无限循环,跟上面的似乎类似,但是上面的为什么只循环1次?
作者: sdffffaa 发布时间: 2011-06-13
你的数据表中 id 为 1 的只有一条
作者: xuzuning 发布时间: 2011-06-13
$sql="SELECT * FROM person WHERE id = '1'";
你的数据表中 id 为 1 的只有一条
那是不是$row =只等于1或者0是吧?
作者: sdffffaa 发布时间: 2011-06-13
$sql="SELECT * FROM person WHERE id = '1'";
你的数据表中 id 为 1 的只有一条
还是这个while循环是不是完全没有存在的必要呢?
作者: sdffffaa 发布时间: 2011-06-13
$sql="SELECT * FROM person WHERE id = '1'";
你的数据表中 id 为 1 的只有一条
$row = mysql_fetch_array($result);
if ($row=false||$row=true){
echo "<div>" . $row['FirstName'] . "</div>";
echo "<div>" . $row['LastName'] . "</div>";}
都不输出
作者: sdffffaa 发布时间: 2011-06-13
if ($row>0)
{
...
}
作者: PhpNewnew 发布时间: 2011-06-13
作者: PhpNewnew 发布时间: 2011-06-13
看错了.你应该是 判断 行数是否超过0行吧?应该用 mysql_num_rows 结果来返回判断
$row = mysql_fetch_array($result);
if ($row=5||$row=1||$row=2||$row=3||$row=4||$row=6||$row=7){
echo "<div>" . $row['FirstName'] . "</div>";
echo "<div>" . $row['LastName'] . "</div>";}
不输出。
那while循环几次由什么来决定?如果是0和1那我能理解了,是其他的真的不知道为什么只循环1次
作者: sdffffaa 发布时间: 2011-06-13
判断是否相等 应该用== 而不是=
循环几次? for ($i=0;$i<sizeof($array);$i++)
作者: PhpNewnew 发布时间: 2011-06-13
数组长度应该用sizeof (array) 来获取
判断是否相等 应该用== 而不是=
循环几次? for ($i=0;$i<sizeof($array);$i++)
if ($row==5||$row==1||$row==2||$row==3||$row==4||$row==6||$row==7)
也是什么也不输出呢。
作者: sdffffaa 发布时间: 2011-06-13
数组长度应该用sizeof (array) 来获取
判断是否相等 应该用== 而不是=
循环几次? for ($i=0;$i<sizeof($array);$i++)
while循环里面没有sizeof吧?
作者: sdffffaa 发布时间: 2011-06-13