8

我有一个 CodeIgniter 应用程序和 SQL Server 数据库。我使用 PDO 作为驱动程序,一切正常,但当我尝试保存包含“选择”或“选择”字样的数据时却不行。

例子:

$data = array();
$data[] = array('title' => 'all you neeed', 'description' => 'description here');
$data[] = array('title' => 'try this selection', 'description' => 'description here');

$this->db->insert_batch($this->table, $data);
4

1 回答 1

2

这是 pdo 驱动程序中的错误...我将检查 github 以查看是否已修复或发送拉取请求以修复它。这个问题已被解决。我建议更新您的 codeigniter 安装。我克隆了 codeigniter repo @ github 并且无法复制错误。

这是错误: pdo_driver.php 中的第 197 行

if (is_numeric(stripos($sql, 'SELECT')))
        {
            $this->affect_rows = count($result_id->fetchAll());
            $result_id->execute();
        }
        else
        {
            $this->affect_rows = $result_id->rowCount();
        }

这是修复:

if (is_numeric(stripos($sql, 'SELECT')) && stripos($sql, 'SELECT') == 0)
        {
            $this->affect_rows = count($result_id->fetchAll());
            $result_id->execute();
        }
        else
        {
            $this->affect_rows = $result_id->rowCount();
        }
于 2013-07-02T00:34:22.803 回答