我不断收到“你的SQL语法错误”,如果查询运行正常,则会发生错误。
代码:
function CreateUser(){
$token = md5(uniqid(rand(),true));
$query = "USE carshop;
INSERT IGNORE INTO users VALUES(
'',
'$GLOBALS[nume]',
'$GLOBALS[pren]',
'$GLOBALS[mail]',
'$GLOBALS[adresa]',
'$GLOBALS[parola]',
'$token',
'0',
'0',
'');";
echo $query;
mysql_query($query)or die("Error: ".mysql_error());
break;
}
回声查询:INSERT IGNORE INTO用户VALUES('','test1','test2','dididid @ dd.com','dsads llaowd sda','6ccee2f5b01591f6644036c1114b5b4f','8b3cc272280f13d765b271e203124308','0',' 0','');
数据库结构是:
CREATE TABLE users (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`nume` CHAR(20) NOT NULL DEFAULT '0' COLLATE 'utf8_unicode_ci',
`prenume` CHAR(20) NOT NULL COLLATE 'utf8_unicode_ci',
`mail` VARCHAR(30) NOT NULL DEFAULT '0' COLLATE 'utf8_unicode_ci',
`adresa` TEXT NOT NULL DEFAULT '0' COLLATE 'utf8_unicode_ci',
`parola` VARCHAR(100) NOT NULL DEFAULT '0' COLLATE 'utf8_unicode_ci',
`token` VARCHAR(100) NOT NULL DEFAULT '0' COLLATE 'utf8_unicode_ci',
`isVerified` INT(1) NOT NULL DEFAULT '0',
`isOnline` INT(1) NOT NULL DEFAULT '0',
`dateCreated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
谢谢,对不起,如果我有任何新手的错误,我是新来的
答案 0 :(得分:5)
您无法使用mysql_*
API运行多个语句。您需要将它们分解为多个语句,或者更好的是,使用mysqli_*
API。
{@ 1}} API已弃用,因此您无论如何也不应该使用它。使用mysql_*
API,您可以使用mysqli_multi_query()
一次运行多个语句。
答案 1 :(得分:0)
我建议做这样的事情(如果你真的需要指定数据库):
function CreateUser(){
$token = md5(uniqid(rand(),true));
$query = "INSERT IGNORE INTO carshop.users VALUES(
'',
'$GLOBALS[nume]',
'$GLOBALS[pren]',
'$GLOBALS[mail]',
'$GLOBALS[adresa]',
'$GLOBALS[parola]',
'$token',
'0',
'0',
'');";
echo $query;
mysql_query($query)or die("Error: ".mysql_error());
break;
}