为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP echo 选定的 SQL 行数据

使用 PHP echo 选定的 SQL 行数据

PHP
大话西游666 2023-09-15 17:26:00
如果我从 SQL 收集多行数据,我将不得不使用 foreach 循环或其他方法来正确显示该数据。如何在不使用 foreach 循环的情况下使用这些 PHP 字符串?以下是我的 SQL 查询$results = $mysqli->query('SELECT * FROM specs where id in ('.$id1.','.$id2.','.$id3.','.$id4.') ');它将产生来自 4 个不同行的数据。上面的代码只是一个示例,下面是我在页面中使用的确切代码。try{    $pdo = new PDO("mysql:host=localhost;dbname=databse", "user", "password");    // Set the PDO error mode to exception    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);} catch(PDOException $e){    die("ERROR: Could not connect. " . $e->getMessage());} // Attempt select query executiontry{    $sql = "SELECT * FROM specs WHERE id IN($id1,$id2,$id3,$id4)";    $result = $pdo->query($sql);    $results = $result->fetchAll();} catch(PDOException $e){    die("ERROR: Could not able to execute $sql. " . $e->getMessage());} // Close connectionunset($pdo);目前,数据使用以下方式显示<tr><td>Brand</td><?php foreach ($results as $result){ ?>    <td> <strong><?php echo $result['brand']; ?></strong> </td><?php } ?></tr>总共会有 4 个结果,我想分别使用这 4 个结果。如果结果是 Samsung、Sony、Apple、LG - 我如何仅使用 PHP 字符串来回显“Apple”?
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

获取所有行。如果您有MySQL 本机驱动程序:


$rows = $results->fetch_all(MYSQLI_ASSOC);

否则,使用循环获取:


while($rows[] = $results->fetch_assoc());

然后你可以按行访问它们:


echo $rows[0]['brand'];  // first row


echo $rows[1]['brand'];  // second row

但这不是很有用。如果您想要使用一些独特的东西(我使用brand作为示例,尽管它可能不是),那么只需对其进行索引:


$rows = array_column($results->fetch_all(MYSQLI_ASSOC), null, 'brand');

// or

while($row = $results->fetch_assoc()) { $rows[$row['brand']] = $row; }

// then

echo $rows['apple']['model'];


查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信