gpt4 book ai didi

php - 即使 mysql 表中有值,SQL 查询也不会返回值

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

我得到了这个功能:

private function _loadColumnRights() {

$db = Zend_Registry::get('db');

// Create the select query
$select = $db->select()
->from('account_columns', array(
'accountId'
))
->where('accountId = ?', $this->getId());

// Fetch the data
$row = $db->fetchRow($select);
if($row != null) {
$this->setColumns($row['columns']);
}
else {
$this->setColumns('');
}
}

我搜索accountID = '128'

我的表格如下所示:

账户ID |栏目

accountId = '128' 行,我得到了一个像这样的值 'orderdate,ref-corlido,item-no,partid,item-description,quantity-value,unit-of-测量、采购值(value)订单行、销售值(value)订单行、标记、到期日、状态、直接交付、超出范围、不合规、备忘录、请求文档、文档'

如果我在 PHP 中手动执行这个 SQL 语句:

SELECT * FROM `account_columns` WHERE `accountId` = '128'

然后我得到结果..

我的代码也适用于此,如果:

if($row != null) {
$this->setColumns($row['columns']);
}

但是 $row['columns'] 的值是空的。如果我对此 getter 的 View 执行 var_dump,那么我会得到空值

如果我将 $row['columns']) 更改为:

$this->setColumns($row['accountId']);

然后我得到了 128 值..但我没有得到列值..这是怎么回事?

最佳答案

因为您只要求结果行中的一列。 :)

您仅将 accountId 作为 k...

    private function _loadColumnRights() {

$db = Zend_Registry::get('db');

// Create the select query
$select = $db->select()

// THERE IS YOU ERROR :)
// THE SECOND PARAMETER IS AN ARRAY OF RESULT COLUMNS
->from('account_columns', array(
//'accountId', <-- Your error :)
'*' // use this if you want all columns back
//'columns' // or add this column name
))


->where('accountId = ?', $this->getId());

// Fetch the data
$row = $db->fetchRow($select);
if($row != null) {
$this->setColumns($row['columns']);
}
else {
$this->setColumns('');
}
}

P.S.:你真的应该为“列”使用另一个名称......:)查看保留字和关键字的列表...不要将它们用于列名或表名。 :)

https://dev.mysql.com/doc/refman/5.7/en/keywords.html

祝你有美好的一天!

祝你好运!

关于php - 即使 mysql 表中有值,SQL 查询也不会返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671029/

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