繁体   English   中英

在Codeigniter上的简单查询和错误

[英]Simple query and error on 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上执行相同的查询,一切正常。

谢谢!!!

你在做什么$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之间的交互方式。 没有冒犯,但这是初学者级别的错误。

您应该使用activer recored的示例,简单易行,

那将解决您的问题

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM