mysql_fetch_array只有当有更多时才显示1行

Aar*_*ire 1 php mysql

我正在开发一个需要数据库的应用程序而且我遇到了一些问题,代码似乎很好,但是当我有2时它只打印1行,我已经测试了当它有5并且我仍然得到1.

我想要做的是创建所有item_id的数组; 我知道我现在正在获得所有领域但这仅仅是为了测试.

index.php文件:

<?php

mysql_connect('localhost', 'aaran', '*********');
mysql_select_db('aaran_aff_io');

$query = mysql_query("SELECT * FROM `items` WHERE `owner`='aaranmcguire'");
$results = mysql_fetch_array($query);

echo '<pre>';
print_r($results);

?>
Run Code Online (Sandbox Code Playgroud)

D B:

SQL DB

数据库结构:

CREATE TABLE `items` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `item_id` int(11) NOT NULL,
  `name` varchar(55) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `thumbnail` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `url` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `owner` varchar(55) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

web*_*ave 10

mysql_fetch_array一次只返回一行.如果要将所有行放入数组中,可以迭代结果集:

$query = mysql_query("SELECT * FROM `items` WHERE `owner`='aaranmcguire'");
$rows = array();
while ($row = mysql_fetch_array($query)) {
    $rows[] = $row;
}

echo '<pre>';
print_r($rows);
Run Code Online (Sandbox Code Playgroud)