2013-05-23 2 views
0

У меня проблема с CodeIgniter и Mysql. Я получаю сообщение об ошибке с очень простым запросом:Простой запрос и ошибка для Codeigniter

$o = "INSERT INTO usuarios (user, password) VALUES ('deesggsd', 'dsggd')"; 
$query = $this->db->query($o); 
$this->db->query($query); 

производит:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1 

1 

Filename: C:\wamp\www\newWeb\system\database\DB_driver.php 

Line Number: 330 

Но запрос фактически выполняется; строка отображается в базе данных. Что я делаю неправильно?

Если я выполняю тот же запрос на phpmyadmin, все в порядке.

Спасибо !!!

+0

почему 2 "$ this-> db-> запрос"? –

+1

Это soooooooooooooooooooo ** «нет времени читать руководства» ** –

ответ

3

Что вы делаете с $query = $this->db->query($o); выполняет запрос и сохраняет результат в переменной $query. Итак, вы уже запустили INSERT, и именно поэтому он правильно хранит базу данных.

Теперь, когда вы пытаетесь запустить $this->db->query($query);, вы в основном пытаетесь запустить процедуру mysql с использованием результата (TRUE) в качестве строки запроса. Именно здесь он выдает ошибку. Имеют смысл?

Попробуйте сделать это вместо:

$this->db->insert('usuarios', array(
    'user'  => 'deesggsd', 
    'password' => 'dsggd' 
); 

Я предлагаю смотреть в Active Record и как взаимодействие между PHP & тузда работой в целом. Не обижайтесь, но это ошибка начального уровня.

+0

Почему я так отстаю? – user1726613

+0

Это сэр, что вы и только вы можете ответить :) –