Php MySQL插入语法错误,原因不明

Php MySQL插入语法错误,原因不明,php,mysql,mysqli,Php,Mysql,Mysqli,我从PHP查询时遇到以下错误: 有人知道为什么吗?它传递了一个电子邮件地址,并且从错误中看起来它在那里被破坏了,但我可能是错的 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 “近”插入到客户集中 name=“詹姆斯·布兰登”, 电子邮件=”james@ambient“在第10行 PHP 根据,您应该尝试以下方法: INSERT INTO customers (name , email, address_1, ...) VALUES (value1, valu

我从PHP查询时遇到以下错误:

有人知道为什么吗?它传递了一个电子邮件地址,并且从错误中看起来它在那里被破坏了,但我可能是错的

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 “近”插入到客户集中 name=“詹姆斯·布兰登”, 电子邮件=”james@ambient“在第10行

PHP

根据,您应该尝试以下方法:

INSERT INTO customers (name , email, address_1, ...)
VALUES (value1, value2, value3,...)

编辑:如您答案的注释所述。我认为这更安全,更容易处理。

INSERT语句有两种可能的语法。 在下面的第一种情况下,只指定要填充的列

INSERT INTO TABLE (COL1, COL2, COL3)
VALUES (VAL_COL1, VAL_COL2, VAL_COL3);
您也可以在不提供col_name的情况下插入,但必须按良好顺序指定所有列的值


在我看来,第一个选项更好,可以避免许多错误,尤其是当您的表中有许多不同的列时。

@James,因为您正在执行INSERT命令。请按以下步骤操作

$query = "INSERT INTO customers (name, email, address_1, address_2, town, county, postcode, phone, name_ship, address_1_ship, address_2_ship, town_ship, county_ship, postcode_ship) VALUES('".$customer_name."', '".$customer_email."', '".$customer_address_1."', '".$customer_address_2."', '".$customer_town."', '".$customer_county."', '".$customer_postcode."', '".$customer_phone."', '".$customer_name_ship."', '".$customer_address_1_ship."', '".$customer_address_2_ship."', '".$customer_town_ship."', '".$customer_county_ship."', '".$customer_postcode_ship."')";
谢谢和问候


Vivek

请注意,您不需要附加该

;在mysql查询之间

您修改的查询将被删除

 $query =      "INSERT INTO customers SET name = '".$customer_name."',

                  email = '".$customer_email."',

                  address_1 = '".$customer_address_1."',

                  address_2 = '".$customer_address_2."',

                  town = '".$customer_town."',

                  county = '".$customer_county."',

                  postcode = '".$customer_postcode."',

                  phone = '".$customer_phone."',

                  name_ship = '".$customer_name_ship."',

                  address_1_ship = '".$customer_address_1_ship."',

                  address_2_ship = '".$customer_address_2_ship."',

                  town_ship = '".$customer_town_ship."',

                  county_ship = '".$customer_county_ship."',

                  postcode_ship = '".$customer_postcode_ship."'
            ";
请注意,有一个

$customer\u postcode\u ship
后加分号,在
$query


您在
$query
中追加了insert查询,这是错误的。可能您混合了
insert
UPDATE
语法?您为insert编写了错误的语法--insert到表名(列1,列2,列3,…)值(值1,值2,值3,…)请,请,请,请,不要扔掉所有易受攻击的代码。看看哪一个是如此的好,使用简单,你的代码会更短,更干净!@sanirranta这不是错误的语法,它是MySQL的扩展。参考谢谢,似乎我有一个关于日期和/或任何想法的语法问题?你能发布小eloborat吗Ephp脚本和错误消息,这将是有用的帮助您。而且也给出了URL链接不工作。根据我审查您的代码。我没有任何语法错误。我们唯一需要考虑的是这个前哨和POST变量是否在这个IF条件。{//验证表单是否已提交。foreach($\u POST['invoice\u product']作为$key=>$value){//发票产品项//您的代码在此处。}
 $query =      "INSERT INTO customers SET name = '".$customer_name."',

                  email = '".$customer_email."',

                  address_1 = '".$customer_address_1."',

                  address_2 = '".$customer_address_2."',

                  town = '".$customer_town."',

                  county = '".$customer_county."',

                  postcode = '".$customer_postcode."',

                  phone = '".$customer_phone."',

                  name_ship = '".$customer_name_ship."',

                  address_1_ship = '".$customer_address_1_ship."',

                  address_2_ship = '".$customer_address_2_ship."',

                  town_ship = '".$customer_town_ship."',

                  county_ship = '".$customer_county_ship."',

                  postcode_ship = '".$customer_postcode_ship."'
            ";