如果我從 SQL 收集多行數(shù)據(jù),我將不得不使用 foreach 循環(huán)或其他方法來正確顯示該數(shù)據(jù)。如何在不使用 foreach 循環(huán)的情況下使用這些 PHP 字符串?以下是我的 SQL 查詢$results = $mysqli->query('SELECT * FROM specs where id in ('.$id1.','.$id2.','.$id3.','.$id4.') ');它將產(chǎn)生來自 4 個不同行的數(shù)據(jù)。上面的代碼只是一個示例,下面是我在頁面中使用的確切代碼。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);目前,數(shù)據(jù)使用以下方式顯示<tr><td>Brand</td><?php foreach ($results as $result){ ?> <td> <strong><?php echo $result['brand']; ?></strong> </td><?php } ?></tr>總共會有 4 個結(jié)果,我想分別使用這 4 個結(jié)果。如果結(jié)果是 Samsung、Sony、Apple、LG - 我如何僅使用 PHP 字符串來回顯“Apple”?
1 回答

森欄
TA貢獻1810條經(jīng)驗 獲得超5個贊
獲取所有行。如果您有MySQL 本機驅(qū)動程序:
$rows = $results->fetch_all(MYSQLI_ASSOC);
否則,使用循環(huán)獲取:
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'];
- 1 回答
- 0 關(guān)注
- 109 瀏覽
添加回答
舉報
0/150
提交
取消