我有一个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上执行相同的查询,一切正常。
谢谢! !
您对$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 &Mysql工作一般。无意冒犯,但这是初学者的错误。
你应该使用激活器来恢复它的样本和简单,
那将会解决你的问题
$values = array('user'=>'deesggsd', 'password'=> 'dsggd');
$this->db->insert('usuarios',$values)
http://ellislab.com/codeigniter/user-guide/database/active_record.html