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 回答