我遇到了从数据库中提取信息并在页面上显示信息的问题。在表中,我在每列中有多个条目。所以我需要提取该信息并从列id以降序显示它。但是有了这个,它会在页面上显示如下的行:
### ### ###
#1# #1# #1#
### ### ###
### ### ###
#2# #2# #2#
### ### ###
### ### ###
#3# #3# #3#
### ### ###
我无法弄清楚我到底做错了什么。这是因为我用php和mysql做了一些事情,所以我可能只是写错了但我不知道。
<?
require 'dbinfo.php';
$link = mysqli_connect($servername, $username, $password);
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
mysqli_select_db($link, $database) or die(mysqli_error($link));
$query = "SELECT `id`, `build`, `buildby`, `description`, `download` FROM `buildlist` ORDER BY id DESC";
$result = mysqli_query($link,$query) or die(mysqli_error($link));
$row = mysqli_fetch_row($result);
$num = mysqli_num_rows($result);
?>
<?
$num = mysqli_num_rows($result);
if($num) {
while( $row = mysqli_fetch_array($result) ) {
?>
<article class="one_third">
<h2>Build <? echo $row['build'] ?></h2>
<img src="images/80x80.gif" alt="">
<p>Build by <? echo $row['buildby'] ?><br />
<br /><br /><br />
<? echo $row['description'] ?><br />
<br / >
<a href="<? echo $row['download'] ?>" class="download">Download this build</a></p><br />
</article>
<article class="one_third midbox">
<h2>Build <? echo $row['build'] ?></h2>
<img src="images/80x80.gif" alt="">
<p>Build by <? echo $row['buildby'] ?><br />
<br /><br /><br />
<? echo $row['description'] ?><br />
<br / >
<a href="<? echo $row['download'] ?>" class="download">Download this build</a></p><br /><br /><br />
</article>
<article class="one_third lastbox">
<h2>Build <? echo $row['build'] ?></h2>
<img src="images/80x80.gif" alt="">
<p>Build by <? echo $row['buildby'] ?><br />
<br /><br /><br />
<? echo $row['description'] ?><br />
<br / >
<a href="<? echo $row['download'] ?>" class="download">Download this build</a></p><br />
</article>
<? }} ?>
答案 0 :(得分:0)
您在第10行,第11行中有其他代码。在第15行而不是if($num)
中写入if($num>0)
。在第16行而不是$row = mysqli_fetch_array($result)
中写$row = mysqli_fetch_array($result,MYSQLI_ASSOC)
。使用<?php
代替<?
。
答案 1 :(得分:0)
您的代码中存在一些错误。首先,您不需要在循环之前获取行。第二 - 你应该使用mysqli_fetch_assoc而不是mysqli_fetch_array或使用$ row [index]而不是$ row [string]。
这是正确的代码:
<?
require 'dbinfo.php';
$link = mysqli_connect($servername, $username, $password);
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
mysqli_select_db($link, $database) or die(mysqli_error($link));
$query = "SELECT `id`, `build`, `buildby`, `description`, `download` FROM `buildlist` ORDER BY id DESC";
$result = mysqli_query($link,$query) or die(mysqli_error($link));
$num = mysqli_num_rows($result);
if($num) {
while( $row = mysqli_fetch_assoc($result) ) {
?>
答案 2 :(得分:-2)
您的查询中存在一些错误 - 不需要撇号。以下查询应该可以解决问题:
SELECT id, build, buildby, description, download FROM buildlist ORDER BY id DESC
有用吗? :)