我在php和mysqli上相当新,而且我已经取得了一些成功,但我目前面临着一堵墙。主要是因为我不知道表达我想要做的事情的条款。
我可以整天选择一行,但我似乎被困在同一行。我需要能够从列的下方选择数据。这是我正在使用的代码。
$qry = "select * from products";
$rs = mysqli_query($conn,$qry);
$getRow = mysqli_fetch_row($rs);
$getRowAssoc = mysqli_fetch_assoc($rs);
echo "<img src=\"".$getRow['1'] . "\">";
我在数据库的图片列中有几个图像链接,但似乎无法找到一种简单的方法来显示该列中其他行的链接。我可能会离开这里,但我不认为我。 这是db db pic的布局 任何帮助将不胜感激
答案 0 :(得分:0)
对于每个mysqli_fetch_assoc,您将获得下一行的结果。当索引从-1开始时,第一次调用它时,它将转到第一行。因此,无论何时再次调用它,它都会进入下一行。在循环中使用它就可以了。
while($row = mysqli_fetch_assoc($result)){
// $row will have new content each iteration
}
答案 1 :(得分:0)
mysqli_fetch_assoc
将结果行作为关联数组获取,但只获取1行,如果要获得所有结果,则必须通过循环获取结果的所有内容,例如:
<?php
$query = 'SELECT `products`.* FROM `products`';
$mysqli = new Mysqli('localhost','test','root','password');
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
echo '<img src="' . htmlentities($row['pic']) . '" /><hr />';
}
unset($row);
$result->free();
$mysqli->close();
如果您希望在以后的步骤中获取所有行以供以后使用,则可以使用mysqli::fetch_all()
,例如:
<?php
$query = 'SELECT `products`.* FROM `products`';
$mysqli = new Mysqli('localhost','test','root','password');
$result = $mysqli->query($query);
$products = $result->fetch_all();
$result->free();
$mysqli->close();
print_r($products);