gpt4 book ai didi

PHP MySQL 查询不返回所有结果

转载 作者:行者123 更新时间:2023-12-01 00:42:18 27 4
gpt4 key购买 nike

我在 PHP 中的以下 SQL 查询无法完全运行。结果仅包含第一行。查询在 PHPMyadmin 中完全正常,它返回所有结果。

$select = "SELECT a.setID, a.setName, a.setPrimaryLanguage, a.setSecondaryLanguage
FROM Person_Set ps, Album a
WHERE ps.Person_username = :username
AND ps.Set_setID = a.setID";

try {
$stmt = $dbh->prepare($select, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$stmt->bindValue(":username", $username, PDO::PARAM_STR);
$stmt->execute();

$result = $stmt->fetch();
echo json_encode($result);

unset($stmt);
} catch (Exception $e) {
echo 'Exception : ' . $e->getMessage() . "\n";
}

此外,如果我更改选择条件以搜索包含特定字符串的行,结果为空(返回“false”)。查询如下:

$select = "SELECT a.setID, a.setName, a.setPrimaryLanguage, a.setSecondaryLanguage
FROM Album a, Set_Card s
WHERE a.setName LIKE '%:searchText%'
AND a.setID = s.Set_setID
GROUP BY a.setID";

我一直在尝试不同的方式来连接到 MySQL 并获得结果,比如

$results = $mysqli->query($query);

而不是使用 PDO。但是,结果仍然相同。谁能帮忙指出我的错误在哪里?非常感谢!

最佳答案

PDOStatement::fetch — Fetches the next row from a result set

因此,当您只执行一次提取时,它会提取第一行,除非您使用将光标更改为下一条记录的循环来执行此操作。

您可以使用fetchAll 方法获取所有记录

http://php.net/manual/en/pdostatement.fetch.php

http://php.net/manual/en/pdostatement.fetchall.php

关于PHP MySQL 查询不返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29489410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com