[英]How do I separate output from database?
我試圖用PHP從數據庫中獲取多行,但我得到的只是一行文本,例如:“ 8910”
我的代碼如下:
$sql = "SELECT * FROM posts WHERE idUsers=$id";
$sth = $conn->query($sql);
if(!$sth) {
echo("Error description: " . mysqli_error($conn));
die();
}
$rows = mysqli_num_rows($sth);
for ($x = 0; $x <= $rows; $x++) {
$sql = "SELECT idPosts FROM posts WHERE idUsers=$id";
if(!$sth) {
echo("Error description: " . mysqli_error($conn));
die();
}
$result = mysqli_fetch_array($sth);
$postId = $result['idPosts'];
echo $postId;
}
然后編輯:echo $postId." ";
並在ID之間獲得一個空格,如下所示:8 9 10。
我試圖做$postIds = explode(" ", $postId);
然后回顯例如$postIds[0]
但我再次獲得所有id
現在我不知道該怎么辦,所以我需要幫助^^
替換$postId = $result['idPosts'];
其中$postId[] = $result['idPosts'];
。 這樣,您可以創建一個數組,就像$postId[0]
一樣訪問它。
您還忘記了再次查詢。
...
$sql = "SELECT idPosts FROM posts WHERE idUsers=$id";
$sth = $conn->query($sql);
if(!$sth) {
...
您不需要進行第二個查詢,因為您已經擁有了第一個查詢的所有數據。 只需用以下代碼替換代碼:
$sql = "SELECT * FROM posts WHERE idUsers=$id";
$sth = $conn->query($sql);
if (!$sth) {
echo("Error description: " . mysqli_error($conn));
die();
}
$postIds = array();
while ($row = mysqli_fetch_array($sth)) {
$postIds[] = $result['idPosts'];
}
在此循環之后,您將擁有所有idPosts
值的數組。 然后,您可以根據需要對其進行處理。 或者您可以在循環中處理它們:
while ($row = mysqli_fetch_array($sth)) {
$postId = $result['idPosts'];
// code to process postId e.g.
echo "$postId<br/>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.