Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL结果未显示在表中?_Php_Mysql_Database_Coda - Fatal编程技术网

Php MySQL结果未显示在表中?

Php MySQL结果未显示在表中?,php,mysql,database,coda,Php,Mysql,Database,Coda,我在自学PHP和MySQL,并试图从数据库中检索一些信息并将其放入表中 到目前为止,只显示表列标题,没有显示每列的信息。PHP文件的显示也需要很长时间 请你指出我代码的问题 <?php mysql_connect("localhost",$username,$password); mysql_select_db($dbname) or die("Unable to select Database"); $query = "SELECT * FROM table_1"; $result =

我在自学PHP和MySQL,并试图从数据库中检索一些信息并将其放入表中

到目前为止,只显示表列标题,没有显示每列的信息。PHP文件的显示也需要很长时间

请你指出我代码的问题

<?php
mysql_connect("localhost",$username,$password);
mysql_select_db($dbname) or die("Unable to select Database");
$query = "SELECT * FROM table_1";
$result = mysql_query($query);
$numcount = mysql_num_rows($result);
echo "<h2>$numcount rows in table_1.</h2>";
mysql_close();
?>

<table border="0" cellspacing="4" cellpadding="2">
<tr>
<th><font face="Futura">Type |</font></th>
<th><font face="Futura">Name |</font></th>
<th><font face="Futura">Street |</font></th>
<th><font face="Futura">Address1 |</font></th>
<th><font face="Futura">Address2 |</font></th>
<th><font face="Futura">Town |</font></th>
<th><font face="Futura">County |</font></th>
<th><font face="Futura">Postcode |</font></th>
<th><font face="Futura">Number |</font></th>
<th><font face="Futura">Latitude,Longitude</font></th>
</tr>

<?php
$i=0;
while ($i < 843) {
$type = mysql_result($result,$i,"type");
$name = mysql_result($result,$i,"name");
$street = mysql_result($result,$i,"street");
$addr1 = mysql_result($result,$im,"address1");
$addr2 = mysql_result($result,$im,"address2");
$town = mysql_result($result,$im,"town");
$county = mysql_result($result,$im,"county");
$postcode = mysql_result($result,$im,"postcode");
$number = mysql_result($result,$im,"number");
$latlong = mysql_result($result,$im,"latlong");
}
?>

<tr>
<td><font face="Futura"><?php echo $type;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $name;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $street;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $addr1;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $addr2;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $town;?></font></td>
</tr>
<?php
$i++;
?>
<?
echo "</table>"; 
?>
</body>
</html>

类型|
名字|
街头|
地址1|
地址2|
城镇|
郡|
邮政编码|
数|
经纬度

对于初学者,您有一个无限循环,因为$i在循环中没有递增。如果您增加$i,它应该可以解决问题。什么是$im

代码应该如下所示:

<?php
$i=0;
while ($i < 843) {
    $type = mysql_result($result,$i,"type");
    $name = mysql_result($result,$i,"name");
    $street = mysql_result($result,$i,"street");
    $addr1 = mysql_result($result,$i,"address1");
    $addr2 = mysql_result($result,$i,"address2");
    $town = mysql_result($result,$i,"town");
    $county = mysql_result($result,$i,"county");
    $postcode = mysql_result($result,$i,"postcode");
    $number = mysql_result($result,$i,"number");
    $latlong = mysql_result($result,$i,"latlong");

?>

<tr>
<td><font face="Futura"><?php echo $type;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $name;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $street;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $addr1;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $addr2;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $town;?></font></td>
</tr>
<?php
    $i++;
} // this is where the loop is ending.
?>
<?
mysql_close(); // close mysql connection after reading data
echo "</table>"; 
?>

  • 以前执行mysql\u close()时,mysql\u result()是否工作

  • 为什么不在这里使用mysql\u fetch\u row()呢

  • 使用@XcodeDev的更多信息进行编辑:

    当需要单个结果时,可以使用mysql_result(),例如:

    $query = mysql_query("SELECT COUNT(id) FROM users");
    
    然后

    当您期望一行包含多个数据的结果时,使用

    $result = mysql_fetch_row($query); => $result[0], $result[1], $result[2] etc
    
    while ($result = mysql_fetch_row($query)) {
        => $result[0], $result[1], $result[2] etc
    }
    

    当您期望多行结果和多个数据时,使用

    $result = mysql_fetch_row($query); => $result[0], $result[1], $result[2] etc
    
    while ($result = mysql_fetch_row($query)) {
        => $result[0], $result[1], $result[2] etc
    }
    


    $im刚刚被认为是一个拼写错误,$i在我提供的代码段底部附近递增。但是$i在while循环内没有递增请注意,您在循环外递增$i。使用上面的代码来修复它。这不是一种实用的方法,$number=mysql_result($result,$i,“number”);用法有时会出错。我个人使用while($row=mysql\u fetch\u row($result)),因为这是一种使循环递增的干净方法。上面的代码段基于发布的代码。@XcodeDev您应该习惯这种用法。mysql\u fetch\u行或我的选择是mysql\u fetch\u数组总是更好。没有必要定义或计算$i。@Ahmet Kemal我对PHP/MySQL完全陌生,我只是在学习一个教程。我现在就调查一下。
    while ($result = mysql_fetch_assoc($query)) {
        => $result['type'], $result['name'] etc
    }