为什么select * 取不到数据呢? 不是把,你在mysql下分别执行下两条sql看看.有没有数据出来.不过通常情况下,你下面的哪个写法,效率还高一些。呵呵。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 while($row = mysql_fetch_array($result)) 改成:while($row = mysql_fetch_array($result,MYSQL_ASSOC)) 指定使用关联索引,试试 $result = mysql_query("SELECT * FROM messages"); 加上分号比较保险,呵呵:$result = mysql_query("SELECT * FROM messages;"); 用select * 是可以查询出数据的。但是这时候下面这段代码显示不出数据,不信大家可以把帖子的完整代码复制到本机测试一下。while($row = mysql_fetch_array($result)) { echo " <tr>"; echo " <td>" . $row['postby'] . " </td>"; echo " <td>" . $row['message'] . " </td>"; echo " </tr>"; } 当用select posty,message...就可以。 你可以调试一下的,把mysql_fetch_array这个语句单独运行,把结果放在一个数组,然后print_r一下,看看是什么,是普通的数字数组还是关联数组:$row = mysql_fetch_array($result);print_r($row); 发现是关联数组,按如下做法取不到值:while($row = mysql_fetch_array($result)) { echo " <tr>"; echo " <td>" . $row['postby'] . " </td>"; echo " <td>" . $row['message'] . " </td>"; echo " </tr>"; } 但是这样就可以取到值:while($row = mysql_fetch_array($result)) { echo " <tr>"; echo " <td>" . $row[0] . " </td>"; echo " <td>" . $row[1] . " </td>"; echo " </tr>"; } 奇怪啊。 楼主把print_r的结果贴出来,再试一下用while($row = mysql_fetch_array($result,MYSQL_ASSOC)){echo " <tr>";echo " <td>" . $row[0] . " </td>";echo " <td>" . $row[1] . " </td>";echo " </tr>";} By using MYSQL_BOTH (default), you'll get an array with both associative and number indices!默认的话,是返回数字索引和字段索引的数组.就是你用数字和字段做为索引都能得到数据.print_r($row);来查看一下吧! 用$row = mysql_fetch_array($result,MYSQL_BOTH)看看能不能出来能出来说明你修改了默认<?php $link = mysql_connect("localhost","xxx","xxx") or die();mysql_select_db("test");$result = mysql_query("SELECT * FROM a"); echo " <table border='1'><tr><th>Firstname </th><th>Lastname </th></tr>"; while($row = mysql_fetch_array($result)) { echo " <tr>"; echo " <td>" . $row['0'] . " </td>"; echo " <td>" . $row['1'] . " </td>"; echo " </tr>"; //echo " <br />"; } echo " </table>"; ?>在我机器上试过,没有问题!楼主可能是配置的问题!print_r出来看看 echo " <td>" . $row['0'] . " </td>";echo " <td>" . $row['name'] . " </td>";同样好用! 有什么奇怪的???本来fetch_assoc, fetch_array, fetch_object就是三种返回数据集的方法。分别用关联数组、对象引用等方式获得其中的字段。 $newRow = array();while($row = mysql_fetch_array($result,MYSQL_ASSOC)){$newRow[] = $row;} 网站CPU使用率的问题求助~! 求助一下!就用file函数要全部读取怎么读取啊? 各位看官帮忙看看 safari不支持p3p头么? 匹配正则表达式不显示结果 php socket 发送数据结构 标题里说不清,请进入... 请教两个问题! 框架网页中树的问题!急! 一个关于php的对象,函数,数组的综合问题,高手请近 文章系统中显示相关文章速度很慢,如何优化? 请帮忙写一个if语句,谢谢!
while($row = mysql_fetch_array($result))
改成:
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) 指定使用关联索引,试试
用select * 是可以查询出数据的。
但是这时候下面这段代码显示不出数据,不信大家可以把帖子的完整代码复制到本机测试一下。while($row = mysql_fetch_array($result))
{
echo " <tr>";
echo " <td>" . $row['postby'] . " </td>";
echo " <td>" . $row['message'] . " </td>";
echo " </tr>";
} 当用select posty,message...就可以。
$row = mysql_fetch_array($result);
print_r($row);
while($row = mysql_fetch_array($result))
{
echo " <tr>";
echo " <td>" . $row['postby'] . " </td>";
echo " <td>" . $row['message'] . " </td>";
echo " </tr>";
}
但是这样就可以取到值:
while($row = mysql_fetch_array($result))
{
echo " <tr>";
echo " <td>" . $row[0] . " </td>";
echo " <td>" . $row[1] . " </td>";
echo " </tr>";
} 奇怪啊。
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo " <tr>";
echo " <td>" . $row[0] . " </td>";
echo " <td>" . $row[1] . " </td>";
echo " </tr>";
}
默认的话,是返回数字索引和字段索引的数组.
就是你用数字和字段做为索引都能得到数据.print_r($row);来查看一下吧!
<?php
$link = mysql_connect("localhost","xxx","xxx") or die();
mysql_select_db("test");
$result = mysql_query("SELECT * FROM a");
echo " <table border='1'>
<tr>
<th>Firstname </th>
<th>Lastname </th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo " <tr>";
echo " <td>" . $row['0'] . " </td>";
echo " <td>" . $row['1'] . " </td>";
echo " </tr>";
//echo " <br />";
}
echo " </table>";
?>
在我机器上试过,没有问题!楼主可能是配置的问题!print_r出来看看
echo " <td>" . $row['0'] . " </td>";
echo " <td>" . $row['name'] . " </td>";
同样好用!
$newRow = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
$newRow[] = $row;
}