mysql在php中基本应用语句的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:46:45
<?php
$conn = mysql_connect('localhost','root','') or die ('链接错误');
mysql_select_db('test',$conn);
$sql = "select * from test";
mysql_query("set names 'GBK'");
$query = mysql_query($sql);
while($rows=mysql_fetch_array($query)){
echo $rows['uid'];
}
?>
上面这段可以运行

但是我想啊

如果把while($rows=mysql_fetch_array($query)){
echo $rows['uid'];
}改成
$rows=mysql_fetch_array($query);
while($rows){
echo $rows['uid'];
}
会更规范一点

但是一改就出错 两者所达的意义就肯定不同了

但是能不能给我说说

两者哪里不同呢

$rows=mysql_fetch_array($query)的意思是提取一条记录
所以修改前的语句,是逐条提取记录,并输出uid字段

按照你那个改,只提取第一条记录,然后进入死循环

while($rows=mysql_fetch_array($query)){
echo $rows['uid'];
}

是从结果集取得的行生成的关联数组

$rows=mysql_fetch_array($query);
while($rows){
echo $rows['uid'];
}
这种写法是错误的
正确的写法是:
$rows=mysql_fetch_array($query);
if ($rows){
echo $rows['uid'];
}

意思是当结果集不为空,即存在则输出