收集所有ID的MySQL

时间:2014-03-26 19:48:01

标签: php mysql

我做到了这一点:

$result = mysql_query("SELECT image, id FROM store WHERE username = '$username_show'");
        $num_rows = mysql_num_rows($result);

        $ids = mysql_fetch_assoc($result);
        $ids = $ids['id'];

for ($i = 0; $i < $num_rows; $i++) {    
        echo "<img src='get.php?id=$ids[$i]' height='300'><p/>";        
   }

我想要显示所有具有该用户名的照片。但$ ids数组只获得一个索引,这是最后一个ID。我做错了什么?

1 个答案:

答案 0 :(得分:1)

像@Matthew所说,不推荐使用:

// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT image, id FROM store WHERE username = '$username_show'");
$row = $result->fetch_assoc();
echo htmlentities($row['row']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT image, id FROM store WHERE username = '$username_show'");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['row']);

回答您的评论:
- 使用数组函数

$result_array = array();
while($row = mysql_fetch_assoc($result))
{
    $result_array[] = $row;
}

$result = $mysqli->query("SELECT  id FROM store WHERE username = '$username_show'");
$result_array = array();
while($row = mysqli_fetch_assoc($result))
{
    $result_array[] = $row;
}