我正在尝试在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();
>`
我确信表格和字段的名称是正确的。
有人可以帮助我吗?
谢谢。
答案 0 :(得分:1)
尝试在password
值附近加上引号,它可能不是整数数据类型:
INSERT INTO utilizadores(nome, login, password, email, tipoacesso)
VALUES ('Edgar', 'apolo90', '123456','edgar@edgar.pt',1)
答案 1 :(得分:0)
您在列名中使用了关键字(password
是关键字),将它们封装在向后的标记中以避免歧义。
INSERT INTO `users`(`login`, `password`, `tipoacesso`, `nome`)
VALUES ('$this->_login', '$this->_password', '$this->_tipoacesso','$this->_nome')