【问题标题】:Codeigniter Update - Error Code: 1064 You have an error in your SQL syntax;Codeigniter 更新 - 错误代码:1064 您的 SQL 语法有错误;
【发布时间】:2013-10-22 13:27:35
【问题描述】:

在我的模型中,我有以下功能:

function update_blog($data, $id){

   $id = $this->uri->segment(3);

$sql = "UPDATE database.newblog (name, address, email)
    SET (".$this->db->escape($data['name']).",
            ".$this->db->escape($data['address']).",
            '".$data['sEmail']."',
    WHERE id = ".$id."; ";

echo $sql;

$query = $this->db->query($sql);    

}
}

当我将此查询直接放入 SQLyog 时,会出现错误:

错误代码:1064 您的 SQL 语法有错误;

?

谢谢

【问题讨论】:

    标签: sql codeigniter sql-update syntax-error


    【解决方案1】:

    试试这个:

    $sql = "UPDATE blogs.newblogsetup 
            SET `name`      = '".$this->db->escape($data['name'])."',
            `address`       = '".$this->db->escape($data['address'])."',
            `email`         = '".$data['sEmail']."',
            `nickname`      = '".$this->db->escape($data['nickname'])."',
            `region`        = '".$data['blogregion']."',
            `startdate`     = '".$startdate."',
            `blogtitle`     = '".$this->db->escape($data['blogtitle'])."',
            `timesperweek`  = '".$data['timesperweek']."',
            `profiletext`   = '".$this->db->escape($data['profiletext'])."',
            `abouttext`     = '".$this->db->escape($data['abouttext'])."',
            `status`        = '".$data['status']."',
            `userid`        = '".$data['userid']."'
            WHERE id        = ".$id."; ";
    

    更好地使用Active Records:

    $this->db->where('id', $id)->update( 'newblogsetup', $data );
    echo $this->db->last_query();die;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 2020-12-27
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      相关资源
      最近更新 更多