我想知道是否有人可以帮助我解决我在一张桌子上PDO::FETCH_OBJ
的问题。每次我查看我的所有参数前缀都是" $"当我在PHPUnit中运行测试时出于某种原因签名。
在我的应用程序的单元测试之外,参数返回正确的名称,没有前缀" $"。
$results = $this->DB->prepare("SELECT * FROM `USER_LOGIN_ATTEMPTS`");
$results->execute();
var_dump($results->fetchAll(\PDO::FETCH_OBJ));
返回我的单元测试:
array(167) {
[0] =>
class stdClass#17 (4) {
public $id =>
string(1) "1"
public $user_key =>
string(32) "db48cf88b5e20b0a4c2e66a64f70abbd"
public $login_attempts =>
string(1) "0"
public $unlocktime =>
string(1) "0"
}
[1] =>
class stdClass#256 (4) {
public $id =>
string(1) "2"
public $user_key =>
string(32) "0494f3807b145170a15a9ea42a717ce3"
public $login_attempts =>
string(1) "0"
public $unlocktime =>
string(1) "0"
}
...
使用此表
CREATE TABLE `USER_LOGIN_ATTEMPTS` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`user_key` VARCHAR(250) NOT NULL DEFAULT '0',
`login_attempts` INT(10) NOT NULL DEFAULT '0',
`unlocktime` INT(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
INDEX `user_key` (`user_key`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1;
我在同一个数据库中有其他表从fetchAll返回属性而没有前缀" $"在我的单元测试中,我无法确定这个特定表中的来源。