php - mysql查询选择一列,其中 ""仅返回一个结果

标签 php mysql

我们开始吧,这是我关于堆栈溢出的第一个问题。

$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $sql = "SELECT nodeurl FROM ownership where userid = 'jgm'";

$stmt = $conn->prepare($sql);
$stmt->execute(); 
        $config = $stmt->fetch();
$xx = sizeof($config);

echo var_dump($config);

mysql表是这样的:

id - nodeurl - userid
-----------------------
1  - url_a   - jgm
2  - url_b   - jgm
3  - url_c   - seb
4  - url_d   - jgm

如果我执行查询:“从所有权中选择 nodeurl,其中 userid = 'jgm'” 我希望结果进入数组 url_a、url_b 和 url_d

如果我为“seb”执行此操作,我应该返回 url_c

我正在通过我的 mysql 客户端控制台运行查询,它工作得很好。当我通过 php 执行代码时,我只收到第一个结果(仅一行)。

我完全陷入困境。

最佳答案

当您的语句返回超过 1 行时,您将必须使用函数将所有数据检索到数组中。对我来说,我喜欢使用 fetch_assoc

$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $sql = "SELECT nodeurl FROM ownership where userid = 'jgm'";

$stmt = $conn->prepare($sql);
$result = $stmt->execute(); 
while($config = $result->fetch_assoc()){
$xx = sizeof($config);

echo var_dump($config);
}

关于php - mysql查询选择一列,其中 ""仅返回一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37266327/

相关文章:

php - CodeIgniter IE 没有正确存储 session

mysql - 多个表中的同一个字段

Mysql 在值更改时更新行

PHP 脚本库

php - 将变量从一个 PHP 页面发送到另一个

php - 如何使用youtube API从首页获取预告片和播放列表

mysql - 为什么解密函数将所有值都更改为Null?

php - 组织 MySQL 客户/数据表

c# - 主键始终插入零

php - Laravel 5 - 更改默认登录操作