SQL语法错误-插入语句


SQL syntax error - insert into statement

大家下午好。在运行以下INSERT INTO语句时,我收到了以下错误。

错误:您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法在第2行的",,,,)"附近

我完全被难住了。这可能与我在名为"id"的表中的增量值有关吗??这是代码。非常感谢!!

<?php
$con=mysqli_connect("localhost","root","root","wexdemo");
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$name = mysqli_real_escape_string($_POST['name']);
$address = mysqli_real_escape_string($_POST['address']);
$area = mysqli_real_escape_string($_POST['area']);
$postcode = mysqli_real_escape_string($_POST['postcode']);
$sector = mysqli_real_escape_string($_POST['sector']);
$subsector = mysqli_real_escape_string($_POST['subsector']);
$contact = mysqli_real_escape_string($_POST['contact']);
$position = mysqli_real_escape_string($_POST['position']);
$email = mysqli_real_escape_string($_POST['email']);
$telephone = mysqli_real_escape_string($_POST['telephone']);
$sql="INSERT INTO employers (name, address, area, postcode, sector, subsector, contact, position, email, telephone)
VALUES ($name, $address, $area, $postcode, $sector, $subsector, $contact, $position, $email, $telephone)";
if (!mysqli_query($con,$sql))
{
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>

插入查询应包装在'单引号或"双引号内。

$sql ="INSERT INTO employers (`name`, `address`, `area`, `postcode`, `sector`, `subsector`, `contact`, `position`, `email`, `telephone`)
 VALUES ('$name', '$address', '$area', '$postcode', '$sector', '$subsector',
       ..^
 '$contact', '$position', '$email', '$telephone')";

而不是

$sql="INSERT INTO employers (name, address, area, postcode, sector, subsector, contact, position, email, telephone)
VALUES ($name, $address, $area, $postcode, $sector, $subsector, $contact, $position, $email, $telephone)";

如果要插入的值的列类型为字符串,则它们需要用单引号或双引号。试试这个代码:

$sql="INSERT INTO employers (name, address, area, postcode, sector, subsector, contact, position, email, telephone)
VALUES ('$name', '$address', '$area', '$postcode', '$sector', '$subsector', '$contact', '$position', '$email', '$telephone')";

您可能不希望用引号括起来的唯一值是那些具有数值的值,即可能是$postcode$telephone

变量不应包含在'或"中;;即使查询已填充并且看起来正确,我也会得到相同的错误MyError:插入date_modele值(1,索尼亚,nota 1,14,身高,165,胸围,60,腰围,65,臀围,60,鞋,33,眼睛,棕色)您的SQL语法有错误;查看MySQL服务器版本对应的手册,了解在第1行"1,14,Height,165,Bust,60,腰围,65,Hips,60,Shoe,33,Eyes,brown)"附近使用的正确语法

$sql="插入雇主(姓名、地址、地区、邮政编码、部门、分部门、联系人、职位、电子邮件、电话)值("+"+$名称+"+","+"+$地址+"+"、"+"区域+"+$子部门+"+&"+"quot+$触点+"+&"+"quot+$位置+"+&"+"quot;+$电子邮件+"+&"+"quot+$telephone+"+")";