【发布时间】:2015-07-23 11:16:51
【问题描述】:
我想更新一条记录:
<?php
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Query;
class Client extends Model {
function modifierClient($tab) {
$setColumns = "";
$separateur = "";
foreach ($tab as $k => $v){
if ($k == 'clt_id')
continue;
$setColumns .= $separateur . 'c.' . $k . " = '" . $v . "'";
$separateur = ",";
}
$sSQL = "UPDATE client c SET $setColumns WHERE c.clt_id = '".$tab['clt_id']."'";
$query = new Query($sSQL, $this->getDI());
$ret = $query->execute();
}
}
$tab 数组有这些索引:
Array
(
[clt_id] => 7
[clt_cin_pass] => aaaaa
[clt_nom] => aaaaaaaaa
[clt_prenom] => aaaaaaaaaa
[clt_tel] => aaaaaaaa
[clt_adresse] => aaaaaaaa
[clt_comment] => aaaaaaaaaayy
)
在运行时出现此错误:Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'client.clt_id' in 'field list'
那么有什么问题呢?
更新
这是来自 phpMyAdmin 的表结构:
【问题讨论】:
-
您的表中没有
clt_id列。 -
有!我使用 phpMyAdmin 并且该列在那里!
-
为你的表发布表结构
client -
如果您真的要更新
client.clt_id我假设它是主键,请尝试将该列从$setColumns数组中删除