PHP - Make my query's array's key the ID

2019-02-22 23:05发布

问题:

So I have this array of images pulling and the array's keys are just 0,1,2,3,4,5.... and whatnot...

How can I make the value in the 'id' column of that table the key, and keep 'link' as the value.

Associative Array, no?

Here is my PHP:

$myImageID = $me['imageid'];

$findImages = "SELECT link FROM images WHERE model_id ='{$me['id']}'";
$imageResult = mysql_query($findImages) or die (mysql_error());

$myImages = array();
while($row = mysql_fetch_array($imageResult)) {
    $myImages[] = $row[0];
}

Here is what I have:

{
 [0] -> "http://website.com/link.jpg"
 [1] -> "http://website.com/li123nk.jpg"
 [2] -> "http://website.com/link3123.jpg"
}

Here is what I want:

{
 [47] -> "http://website.com/link.jpg"
 [122] -> "http://website.com/li123nk.jpg"
 [4339] -> "http://website.com/link3123.jpg"
}

回答1:

Just select the id and make it the key to the array. It's that simple.

$findImages = "SELECT id, link FROM images WHERE model_id ='{$me['id']}'";
$imageResult = mysql_query($findImages) or die (mysql_error());

$myImages = array();
while($row = mysql_fetch_array($imageResult)) {
    $myImages[$row[0]] = $row[1];
}

FYI, you shouldn't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

You also wide open to SQL injections



回答2:

  $myImages[$me['id']] = $row[0];