繁体   English   中英

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: INSERT INTO dati_modelle VALUES (1, sonia, nota 1, 14, Height, 165, Bust, 60, Waist , 65, Hips, 60, Shoe, 33, Eyes, brown) 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在 '1, 14, Height, 165 附近使用的正确语法,胸围,60,腰围,65,臀围,60,鞋,33,眼睛,棕色)' 在第 1 行

$sql="INSERT INTO 雇主(姓名、地址、地区、邮政编码、部门、分部门、联系人、职位、电子邮件、电话) VALUES (" + "" + $name +"" + ", " + "" + $address +"" + ", " + "" + $area + "" + ", " + ""+ $sector + "" + ", " + ""+ $subsector+ "" + ", " + ""+$联系人 + "" + ", " + ""+$position +"" + ", " + ""+ $email + "" + ", " + ""+ $telephone + "" + ")";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM