gpt4 book ai didi

php - PHP 表单的 MYSQL 错误

转载 作者:行者123 更新时间:2023-11-29 05:39:49 25 4
gpt4 key购买 nike

这可能是一个菜鸟问题,但我找不到我的代码有任何问题,而且我仍然遇到 mysql 错误。

我正在使用这段代码向 MYSQL 数据库提交表单 ->

    if($forename == '' || $surname == '' || $email == '' || $address1 == '' || $address2 == '' || $terms == ''){
$_SESSION['status'] = 'error';
} else {
$sql = "INSERT INTO dbEntry ('forename','surname','email','address1','address2','terms')
VALUES ('$forename','$surname','$email','$address1','$address2','$terms')" or die(mysql_error());
$results = mysql_query($sql);

if ($results) { echo "Details added."; }

//if (mysql_error()) echo mysql_error();

$_SESSION['status'] = 'success';
}

//Print query for debugging ->
echo $sql;

但是它抛出了这个错误->

INSERT INTO dbEntry ('forename','surname','email','address1','address2','terms') VALUES ('asd','asd','asd@asd.com','asd','as','NULL')
Error: 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 ''forename','surname','email','address1','address2','terms') VALUES ('asd','as' at line 1

我已经为这个结构创建了一个表->

id INT(10) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
forename VARCHAR(32) NOT NULL,
surname VARCHAR(32) NOT NULL,
email VARCHAR(64) NOT NULL,
address1 VARCHAR(64) NOT NULL,
address2 VARCHAR(64) NOT NULL,
terms TINYINT(1)

我看不到任何语法错误,我哪里出错了?如果我包含了太多信息,我深表歉意。

干杯

最佳答案

不要在插入列列表中用单引号将列名括起来。

INSERT INTO dbEntry (forename,surname,email,address1,address2,terms) VALUES ('asd','asd','asd@asd.com','asd','as','NULL') 

如果您的列名恰好是 MySQL 保留关键字,或包含空格、连字符或其他特殊但有效的字符,则必须将它们括在反引号中:

INSERT INTO tbl (`desc`, `space table`, `etc`)...

作为提示,当 MySQL 打印语法错误时,99% 的时间错误发生在 正确的语法以在 " 开头引号开始的位置。

关于php - PHP 表单的 MYSQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com