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