Php 显示所有行的mysqli查询结果

Php 显示所有行的mysqli查询结果,php,mysqli,while-loop,Php,Mysqli,While Loop,我有以下代码: include$\u SERVER['DOCUMENT\u ROOT']./include/conn.php'; $query=“从新闻事件中选择标题”; $result=$mysqli->query($query); $row=$result->fetch_数组(MYSQLI_二者); $row\u cnt=$result->num\u行; $result->free(); $mysqli->close(); 如果只有一个结果就可以了,因为我可以只回显$row['title'

我有以下代码:

include$\u SERVER['DOCUMENT\u ROOT']./include/conn.php';
$query=“从新闻事件中选择标题”;
$result=$mysqli->query($query);
$row=$result->fetch_数组(MYSQLI_二者);
$row\u cnt=$result->num\u行;
$result->free();
$mysqli->close();
如果只有一个结果就可以了,因为我可以只回显
$row['title']
,但是如果有很多结果,我如何让它循环并打印每一行

我相信这很简单,但我不确定我需要在谷歌搜索什么

我正在寻找一个与此类似的
mysqli

while($row=mysql\u fetch\u array($result))
{
echo$row['FirstName']。“”.$row['LastName'];
回声“
”; }
只需将其替换为
mysqli\u fetch\u数组
mysqli\u result::fetch\u数组
:)

while($row=$result->fetch\u array())
{
echo$row['FirstName']。“”.$row['LastName'];
回声“
”; }
几乎所有的
mysql.*
函数都有相应的
mysqli.*
函数。

使用:

while ($row = $result->fetch_array(MYSQLI_BOTH)) {
    // Look inside $row here, do what you want with it.
}
请看此处的关联数组示例(也应与fetch_array()版本相对应):


简单的mysqli解决方案:

$db = new mysqli('localhost','user','password','database');
$resource = $db->query('SELECT * FROM table WHERE 1');
while ( $rows = $resource->fetch_assoc() ) {
    print_r($rows);//echo "{$row['field']}";
}
$resource->free();
$db->close();
错误处理:如果出现致命错误,脚本将以错误消息终止

// ini_set('display_errors',1); // Uncomment to show errors to the end user.
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli('localhost','user','password','database');
$resource = $db->query('SELECT field FROM table WHERE 1');
while ( $row = $resource->fetch_assoc() ) {
    echo "{$row['field']}";
}
$resource->free();
$db->close();
使用迭代器:支持是在PHP5.4中添加的

$db = new mysqli('localhost','user','password','database');
foreach ( $db->query('SELECT * FROM table') as $row ) {
    print_r($row);//echo "{$row['field']}";
}
$db->close();
获取单个记录:此代码不需要循环

$db = new mysqli('localhost','user','password','database');
$resource = $db->query('SELECT field FROM table');
$row = $resource->fetch_assoc();
echo "{$row['field']}";
$resource->free();
$db->close();

您可以使用
foreach

$query = "SELECT title FROM news_event";
$result = $mysqli->query($query);
foreach($result as $row) {
    echo $row['FirstName'] . " " . $row['LastName'];
    echo "<br />";
}
$query=“从新闻事件中选择标题”;
$result=$mysqli->query($query);
foreach($结果为$行){
echo$row['FirstName']。“”.$row['LastName'];
回声“
”; }
如果您希望将mysqli代码和HTML分开,那么最好将它们都提取到一个数组中,稍后再循环

$query = "SELECT title FROM news_event";
$result = $mysqli->query($query);
$news_events = $result->fetch_all(MYSQLI_ASSOC);

// Later in HTML:    

<div>
<?php foreach($news_events as $row): ?>
    <p><?= $row['FirstName'] ?> <?= $row['LastName'] ?></p>
<?php endforeach ?>
</div>
$query=“从新闻事件中选择标题”;
$result=$mysqli->query($query);
$news\u events=$result->fetch\u all(MYSQLI\u ASSOC);
//稍后在HTML中:


请,.Hi@你的常识,我同意你的观点,谢谢你的建议。有关可编辑的结果,请参阅请勿手动处理错误。改为启用mysqli的错误报告。看见