CI SQL INSERT ERROR - PullRequest
       2

CI SQL INSERT ERROR

0 голосов
/ 17 сентября 2011

Номер ошибки: 1064

У вас есть ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'Aventro', '' bc55825ec921b78c574576fbc6679cc346ee0494 '', '' 8c0cf560bb77c28d6b7dd11 'в строке 1

пароль пользователя, имя пользователя INSERT INTO (, электронная почта, созданный пользователем: \ wamp \ www \ hol \ system \ database \ DB_driver.php

Номер строки: 330

модель создания пользователя:

public function createuser($username, $password, $salt, $email)
{
    $password = sha1($password . $salt);

    $sql = "INSERT INTO users(username, password, salt, email, user_created) VALUES('".$this->db->escape($username)."','".$this->db->escape($password)."','".$this->db->escape($salt)."','".$this->db->escape($email)."', NOW())";

    if ($this->db->query($sql)) {
        return true;
    } else {
        return false;
    }
}

Контроллер (вызов модели)

    $result = $this
    ->user_model
    ->createuser(
        $this->input->post('username'),
        $this->input->post('password'),
        $salt,
        $this->input->post('email'));

Ответы [ 3 ]

2 голосов
/ 17 сентября 2011

Ваш $this->db->escape() возвращает строку, заключенную в одинарные кавычки.Вместо этого используйте этот запрос:

$sql = "INSERT INTO users(username, password, salt, email, user_created) VALUES(".$this->db->escape($username).",".$this->db->escape($password).",".$this->db->escape($salt).",".$this->db->escape($email).", NOW())";

Или удалите вложение из $this->db->escape() - было бы лучше, я думаю.

2 голосов
/ 17 сентября 2011

То, что в вашем запросе выглядит как двойные кавычки, на самом деле является двумя апострофами.

Пробелы вставлены между ними, чтобы показать: '' Aventro ''

Возможно, ваш метод $ db-> escape возвращает строку в кавычках с апострофами.

Проверьте функцию escape, чтобы узнать, делает ли она это, и поместите данные в запрос без кавычек.

0 голосов
/ 10 июня 2018
function fetch_all($table_name,$field_name,$order){
    $query = $this->db->query("select * from {PRE}".$table_name." where 1 order by `".$field_name."` ".$order);

    $result['result_num'] = $query->num_rows();
    $result['result_log'] = $query->result();
    return $result;
}



function fetch_editdata($value,$table_name,$idname){
    $query = $this->db->query("select * from {PRE}".$table_name." where `".$idname."` = '".$value."'");

    $result['result_log'] = $query->row();
    return $result;
}


function edit_data($data,$table_name,$id){
    $i = 1;
    $query = "UPDATE {PRE}".$table_name." SET";
    foreach($data as $key=>$value){
        if($i < count($data)){
            $query = $query . "`".$key."` = '".addslashes(trim($value))."',";
        }else{
            $query = $query . "`".$key."` = '".addslashes(trim($value))."'";
        }
        $i++;
    }
    foreach($id as $k=>$val){
        $query = $query . "WHERE `".$k."` = '".$val."'";
        $insert_id = $val;
    }
    $this->db->query($query);
    return $insert_id;
}


function adddata($value,$table_name){
    $query = "INSERT INTO {PRE}".$table_name." SET";
    $i = 1;
    foreach($value as $key => $val){
        if($i < count($value)){
            $query = $query . "`".$key."` = '".addslashes(trim($val))."',";
        }else{
            $query = $query . "`".$key."` = '".addslashes(trim($val))."'";
        }
        $i++;
    }
    $this->db->query($query);
    $insert_id = $this->db->insert_id();

    return $insert_id;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...