我一直在寻找这个,但仍然无法找到解决方案:如何从mySQL列获取所有值并将它们存储在数组中?
例如:表名:客户列名:ID,名称行数:5
我想得到这个表中所有5个名字的数组.我该怎么做呢?我正在使用PHP,我试图只是:
SELECT names FROM Customers
Run Code Online (Sandbox Code Playgroud)
然后使用
mysql_fetch_array
Run Code Online (Sandbox Code Playgroud)
PHP函数将这些值存储在数组中.
Fél*_*ier 31
$stmt = $pdo->prepare("SELECT Column FROM foo");
// careful, without a LIMIT this can take long if your table is huge
$stmt->execute();
$array = $stmt->fetchAll(PDO::FETCH_COLUMN);
print_r($array);
Run Code Online (Sandbox Code Playgroud)
或者,使用mysqli
$stmt = $mysqli->prepare("SELECT Column FROM foo");
$stmt->execute();
$array = [];
foreach ($stmt->get_result() as $row)
{
$array[] = $row['column'];
}
print_r($array);
Run Code Online (Sandbox Code Playgroud)
Array
(
[0] => 7960
[1] => 7972
[2] => 8028
[3] => 8082
[4] => 8233
)
Run Code Online (Sandbox Code Playgroud)
Dhr*_*hak 27
请注意,这个答案已经过时了!从PHP7开始,mysql扩展不再可用.如果要在PHP7中使用旧的mysql函数,则必须从PECL编译ext/mysql.查看更多当前解决方案的其他答案.
这可以工作,请参阅此处的更多文档:http: //php.net/manual/en/function.mysql-fetch-array.php
$result = mysql_query("SELECT names FROM Customers");
$storeArray = Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$storeArray[] = $row['names'];
}
// now $storeArray will have all the names.
Run Code Online (Sandbox Code Playgroud)
小智 5
我会使用 mysqli 连接来连接到数据库。下面是一个例子:
$connection = new mysqli("127.0.0.1", "username", "password", "database_name", 3306);
Run Code Online (Sandbox Code Playgroud)
下一步是选择信息。在你的情况下,我会这样做:
$query = $connection->query("SELECT `names` FROM `Customers`;");
Run Code Online (Sandbox Code Playgroud)
最后,我们通过键入以下所有名称创建一个数组:
$array = Array();
while($result = $query->fetch_assoc()){
$array[] = $result['names'];
}
print_r($array);
Run Code Online (Sandbox Code Playgroud)
所以我在这段代码中做了什么:我使用 mysql 查询从表中选择了所有名称。接下来我使用一个 while 循环来检查 $query 是否有下一个值。如果是这样,while 循环将继续并将该值添加到数组 '$array' 中。否则循环停止。最后我使用 'print_r' 方法打印数组,以便您可以看到一切正常。我希望这可以帮到你。
归档时间: |
|
查看次数: |
110670 次 |
最近记录: |