MySQL语法错误我的第一个项目

时间:2014-12-18 23:40:52

标签: php mysql database

首先抱歉,如果这是一个愚蠢的问题,这是我的第一个MySql项目。

我正在为一个活动编写一个非常基本的应用程序。这个想法是检查站工作人员输入一个团队编号和一个时间,然后进入数据库。我已经在WAMP中构建了一个基本脚本,现在我将它放在我的网络服务器上,我得到了这个错误

错误:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行“到达”VALUES('')('4568')附近使用正确的语法

这是我的脚本代码

<?php
$con=mysqli_connect("localhost","","","");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to Database, Contact Control: " . mysqli_connect_error();
}

// escape variables for security
$Team = mysqli_real_escape_string($con, $_POST['Team']);
$cp = mysqli_real_escape_string($con, $_POST['cp']);


$sql="INSERT INTO checkpoints (Number, CP2 Arrival)
VALUES ('$Number', '$cp')";

if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
echo "record added";

mysqli_close($con);
?>

我花了很多年时间用谷歌搜索并试图没有运气

任何想法?

提前致谢

3 个答案:

答案 0 :(得分:0)

数据库项不应包含空格。使用这样的括号: 插入检查点([编号],[CP2到达]) VALUES('$ Number','$ cp');

答案 1 :(得分:0)

列名称不应包含空格。尝试将名称更改为CP2_Arrival,并将查询调整为

$sql="INSERT INTO checkpoints (Number, CP2_Arrival)
VALUES ('$Number', '$cp')";

$Number变量来自哪里?您的意思是使用$Team吗?

答案 2 :(得分:0)

<?php
$con=mysqli_connect("localhost","","","");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to Database, Contact Control: " . mysqli_connect_error();
}

// escape variables for security
$Team = mysqli_real_escape_string($con, $_POST['Team']);
$cp = mysqli_real_escape_string($con, $_POST['cp']);


$sql="INSERT INTO checkpoints (Number, CP2_Arrival)
VALUES (
 '".$Team."',
 '".$cp."' 
)";

if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
echo "record added";

mysqli_close($con);
?>

注意:不要在列名上使用空格,而是使用_而不是