gpt4 book ai didi

php - MySQL PDO 查询的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 22:55:24 24 4
gpt4 key购买 nike

我有一个非常奇怪的问题,我想不出解决办法。 ($DB id PDO 对象)

$type = 'some_type';      
$sql = "SELECT * FROM `last_save` WHERE `type` = :type;";
$st = $DB->prepare($sql);
$st->bindParam(':type', $type, PDO::PARAM_STR);
$st->execute();
$rows = $st->fetchAll();
var_dump($rows);

$rows 为空数组

array(0) { }

虽然数据库中有查询应该获取的行。

我的表结构是这样的:

CREATE TABLE IF NOT EXISTS `last_save` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` text,
`parameter` int(11) DEFAULT NULL,
`value` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我真的没有什么想法了,非常感谢任何帮助。

最佳答案

您的代码看起来很干净,请检查您的 pdo 连接参数。如果您在表中存储特殊字符,请将“SET NAMES utf8”添加到您的配置中,例如:

$DB =  new PDO('mysql:host=localhost;dbname=my_db', 'user', 'pass', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

关于php - MySQL PDO 查询的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26617299/

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