Codeigniter上的简单查询和错误

时间:2013-05-23 19:50:48

标签: php codeigniter

我遇到CodeIgniter和Mysql的问题。我通过一个非常简单的查询得到错误:

$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上执行相同的查询,一切正常。

感谢!!!

2 个答案:

答案 0 :(得分:3)

您正在使用$query = $this->db->query($o);执行查询并将结果存储到$query变量。所以你已经运行了INSERT一次,这就是它正确存储到数据库的原因。

现在,当您尝试运行$this->db->query($query);时,您基本上尝试使用结果(TRUE)作为查询字符串来运行mysql过程。这是它抛出错误的地方。有意义吗?

尝试这样做:

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

我建议调查Active Record以及PHP与&之间的互动。 mysql工作一般。没有冒犯,但这是一个初级错误。

答案 1 :(得分:0)

你应该使用活动记录,这很简单,

这将解决您的问题

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

http://ellislab.com/codeigniter/user-guide/database/active_record.html