Some code here, I want store mysql query result into an array with php, but my code return result: 2h
, not what I wish.(the correct result should be 36,35,34,33,32)
这里有些代码,我希望用mysql将mysql查询结果存储到数组中,但是我的代码返回结果:2h,不是我想要的。(正确的结果应该是36,35,34,33,32)
<?php
set_time_limit(59);
mysql_select_db("mycoon",$db);
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT id,link FROM mytable Order By id DESC LIMIT 0,5");
$new_array[] = $row;
while ($row = mysql_fetch_array($result)) {
$new_array[$row['id']] = $row;
$new_array[$row['link']] = $row;
}
mysql_close($db);// close mysql then do other job with set_time_limit(59)
foreach($new_array as $array){
echo $array['id'].'<br />';
echo $array['link'].'<br />';
}
?>
Result:
结果:
36
http://localhost/img/img36.jpg
36
http://localhost/img/img36.jpg
35
http://localhost/img/img35.jpg
35
http://localhost/img/img35.jpg
34
http://localhost/img/img34.jpg
34
http://localhost/img/img34.jpg
33
http://localhost/img/img33.jpg
33
http://localhost/img/img33.jpg
32
http://localhost/img/img32.jpg
32
http://localhost/img/img32.jpg
3 个解决方案
#1
32
I think you wanted to do this:
我想你想这样做:
while( $row = mysql_fetch_assoc( $result)){
$new_array[] = $row; // Inside while loop
}
Or maybe store id as key too
或者也可以将id存储为密钥
$new_array[ $row['id']] = $row;
Using the second ways you would be able to address rows directly by their id, such as: $new_array[ 5]
.
使用第二种方法,您可以直接通过其ID来寻址行,例如:$ new_array [5]。
#2
4
Use mysql_fetch_assoc instead of mysql_fetch_array
使用mysql_fetch_assoc而不是mysql_fetch_array
http://php.net/manual/en/function.mysql-fetch-assoc.php
http://php.net/manual/en/function.mysql-fetch-assoc.php
#3
3
What about this:
那这个呢:
while ($row = mysql_fetch_array($result))
{
$new_array[$row['id']]['id'] = $row['id'];
$new_array[$row['id']]['link'] = $row['link'];
}
To retrieve link and id:
要检索链接和ID:
foreach($new_array as $array)
{
echo $array['id'].'<br />';
echo $array['link'].'<br />';
}
#1
32
I think you wanted to do this:
我想你想这样做:
while( $row = mysql_fetch_assoc( $result)){
$new_array[] = $row; // Inside while loop
}
Or maybe store id as key too
或者也可以将id存储为密钥
$new_array[ $row['id']] = $row;
Using the second ways you would be able to address rows directly by their id, such as: $new_array[ 5]
.
使用第二种方法,您可以直接通过其ID来寻址行,例如:$ new_array [5]。
#2
4
Use mysql_fetch_assoc instead of mysql_fetch_array
使用mysql_fetch_assoc而不是mysql_fetch_array
http://php.net/manual/en/function.mysql-fetch-assoc.php
http://php.net/manual/en/function.mysql-fetch-assoc.php
#3
3
What about this:
那这个呢:
while ($row = mysql_fetch_array($result))
{
$new_array[$row['id']]['id'] = $row['id'];
$new_array[$row['id']]['link'] = $row['link'];
}
To retrieve link and id:
要检索链接和ID:
foreach($new_array as $array)
{
echo $array['id'].'<br />';
echo $array['link'].'<br />';
}