0

phpMyAdminにデータを挿入しようとしていますが、エラーが返されます。

#1064 - 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 'INSERT INTO utilizadores(nome, login, password, email, tipoacesso) VALUE' at line 1.

<`

//variáveis de estabelecer ligação à base de dados
$hostDB = "localhost";
$userDB = "root";
$passDB = "";
$nameDB = "sistemaimportacao";

//conexão à base de dados
$connectDB = mysql_connect($hostDB,$userDB,$passDB, $nameDB) or die ("não foi possível conectar: ".mysql_error());

class users{

    private $_login;
    private $_password;
    private $_tipoacesso;
    private $_nome;

    public function __construct($login, $password,$tipoacesso,$nome){
        $this->_login=$login;
        $this->_password=$password;
        $this->_tipoacesso=$tipoacesso;
        $this->_nome=$nome;
    }

    public function create(){

        $sql = "INSERT INTO users(login, password, tipoacesso, nome) 
VALUES ('$this->_login', '$this->_password', '$this->_tipoacesso','$this->_nome')";
        echo $sql;
        mysql_query($sql);
    }

}

$reg = new users("abc", "qwerty", "1", "edgar");
$reg->create();

?> `

テーブルとフィールドの名前は正しいと確信しています。

誰かが私を助けることができますか?

ありがとうございました。

4

2 に答える 2

1

値を引用符で囲んでみてください。password整数データ型ではない可能性があります。

INSERT INTO utilizadores(nome, login, password, email, tipoacesso) 
VALUES ('Edgar', 'apolo90', '123456','edgar@edgar.pt',1)
于 2012-10-30T17:33:27.013 に答える
0

列名にキーワードを使用しました (passwordはキーワードです)。あいまいさを避けるために、それらを後方ティックでカプセル化します。

INSERT INTO `users`(`login`, `password`, `tipoacesso`, `nome`) 
VALUES ('$this->_login', '$this->_password', '$this->_tipoacesso','$this->_nome')
于 2012-10-31T09:37:19.763 に答える