gpt4 book ai didi

php - $modx->query 似乎没有执行

转载 作者:行者123 更新时间:2023-11-29 02:29:58 25 4
gpt4 key购买 nike

根据此处的文档:http://rtfm.modx.com/display/xPDO20/xPDO.query

以下面的例子为例:

$result = $modx->query("SELECT * FROM modx_users WHERE id=1");
if (!is_object($result)) {
return 'No result!';
}

我假设这个声明会起作用:

$checkUnique = $modx->query("SELECT * FROM my_table_name WHERE guid = '$unique' AND used = 0");

//guid already used, or non-existant
if(!is_object($checkUnique)){
$result = array(
"result" => false
);
return json_encode($result);
}

当我执行 var_dump($checkUnique)时,结果如下:

object(PDOStatement)#22 (1) { ["queryString"]=> string(70) "SELECT * FROM my_table_name WHERE guid='5114722f24870' AND used=0"}

我知道 used 列已设置为 1,但它从未触发我的 if block 。

我做错了什么?

最佳答案

看来 MODx doco 需要一些帮助。我只是在本地尝试了这个,一个空的结果集仍然返回一个 PDOStatement 对象。

您可以尝试使用 PDOStatement::rowCount()检查返回的行数

$count = $checkUnique->rowCount();

或者像这样改变你的查询

$check = $modx->query("SELECT COUNT(1) FROM my_table_name WHERE guid = '$unique' AND used = 0");
$count = $check->fetchColumn();
if (!$count) {
// etc

我在 MODx 文档中提出了一个错误 - http://tracker.modx.com/issues/9502

关于php - $modx->query 似乎没有执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14765285/

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