我们开始吧,这是我关于堆栈溢出的第一个问题。
$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/