【发布时间】:2015-02-24 11:10:01
【问题描述】:
这让我发疯......我正在尝试使用准备好的语句插入,但事情却默默地失败了。 代码如下:
$sql = 'INSERT INTO payments (id_fix, name, date, comment, timestamp) VALUES (:id_fix, :name, :date, :comment, :timestamp)';
$q = $this->PDO->prepare($sql);
$a = array(
'id_fix' => $r['id'],
'name' => $r['name'],
'date' => $r['evt_date'],
'comment' => $this->comment,
'timestamp' => $r['timestamp']);
$q->execute($a) or die ('NAPAKA');
$r 来自另一个查询。 我知道我应该做简单的子查询,但我想解决这个问题。
如果我改变了
'id_fix' => 0
有效!如果我回显 $r['id'] 这是一个有效数字。
'id_fix' => intval($r['id'])
不会工作。
有什么想法吗? :-S
【问题讨论】:
-
你能不能把
die ('NAPAKA')换成die ($q->errorInfo())然后在这里报错? -
From [php.net/manual/en/function.intval.php] -
The integer value of var on success, or 0 on failure. Empty arrays return 0, non-empty arrays return 1.如果打印转换的输出会返回什么? -
尝试开启错误,你会得到什么?