我正在使用 db 适配器在 Zend 框架中插入数据
$adapter = Zend_Db_Table::getDefaultAdapter();
并执行如下插入语句:
$q = "INSERT INTO questions (category_id, user_id, `text`, active)
VALUES($category_id, ".$user_id.", '".$question_text."', 1)";
$adapter->query($q);
但是,有时此查询不起作用。这只发生在$question_text
相当长(>1000 个字符)并且不依赖于内容而只依赖于长度的情况下。在 phpmyadmin 中执行相同的语句没有问题。(db 字段是文本)
当我使用
$adapter->exec($q);
查询也可以正常工作。
现在我的问题:
是什么导致 query() 语句出现问题?
改用 exec() 有什么缺点吗?