簡體   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