【问题标题】:Error while inserting data into Mysql database将数据插入Mysql数据库时出错
【发布时间】:2013-04-25 02:29:35
【问题描述】:

我正在尝试将数据插入 Mysql 表,但它给了我一个错误-

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“Scoretab VALUES ('UX 345','22','0.8562675')' 附近使用正确的语法

这是我正在使用的 php-mysql sn-p:

if($value >= 0.70){         
  $mu_id = $ros['c_id'];
  $moc_id = $ram['t_id'];
  $query="INSERT INTO Scoretab VALUES ('$mu_id','$moc_id','$value')";

  $op1 = mysql_query($query) or die(mysql_error());         
}

这是我的表结构:

CREATE TABLE IF NOT EXISTS `Scoretab` (
 `mu_id` varchar(10) NOT NULL,
 `moc_id` int(5) NOT NULL,
 `score` decimal(5,4) NOT NULL,
 UNIQUE KEY `mu_id` (`mu_id`)
)

【问题讨论】:

  • 你的表结构是什么
  • 它给了你什么错误?
  • 如果不存在则创建表 Scoretab ( mu_id varchar(10) NOT NULL, moc_id int(5) NOT NULL, score decimal(5,4) NOT NULL, UNIQUE键mu_id(mu_id))

标签: php mysql sql database insert


【解决方案1】:

此查询可能存在一些问题

$query="INSERT INTO Scoretab VALUES ('$mu_id','$moc_id','$value')";
  • 列数是否与您尝试插入的字段匹配?您是否尝试过使用特定的列标识符Scoretab (col,col,col) values (val, val, val)

  • 您的任何值是否包含未转义的撇号?您可能需要考虑使用mysql_real_escape_string 来代替$mu_idintval 来代替$moc_id

  • $value 是一个浮点数,您在插入时不需要添加撇号

  • 你确定你连接到你有这个表的同一个数据库吗?

这可能是一个可行的解决方案(edit

if ($value >= 0.70)
{
    $mu_id = mysql_real_escape_string($ros['c_id']);

    $moc_id = intval($ram['t_id']); 

    $query = "INSERT INTO `Scoretab` VALUES ('$mu_id', $moc_id, $value)";

    $op1 = mysql_query($query) or die(mysql_error());
}

【讨论】:

  • 是的,我之前确实使用了 Scoretab (col,col,col) 值 (val, val, val) 格式,但错误仍然存​​在
  • 我也使用了 mysql_real_escape_string ,为了解决这个问题,我删除了 mysql_real_escape_string 。
  • @shailbenq 你确定你连接到你有这个表的同一个数据库吗?
  • 是的,我正在使用 require_once('db_connection.php');在我进行数据库操作的每个 php 文件中
【解决方案2】:

错误似乎在表名Scoretab 之前。你仔细检查你的语法了吗? 有时我们看不到眼前的一切! :D 只是复制了这个例子,一切都对我有用。

【讨论】:

  • 我们看到的查询很可能是mysql试图解析的查询......它就在那里!
  • 呃真的很奇怪!如果你尝试这个......只是因为:$query = "INSERT INTO Scoretab VALUES ('".$mu_id."', '".$moc_id."', '".$value."')";
【解决方案3】:

试试这个

 $query="INSERT INTO Scoretab  (mu_id,moc_id,score) VALUES ('$mu_id','$moc_id','$value')";

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    相关资源
    最近更新 更多