我正在尝试将数据插入到Mysql表中,但它给出了一个错误 -
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的'Scoretab VALUES('UX 345','22','0.8562675')附近使用正确的语法
这是我使用的php-mysql片段:
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`)
)
答案 0 :(得分:2)
此查询可能存在一些问题
$query="INSERT INTO Scoretab VALUES ('$mu_id','$moc_id','$value')";
列数与您尝试插入的字段是否匹配?您是否尝试过使用特定列标识Scoretab (col,col,col) values (val, val, val)
您的任何值是否包含未转义的撇号?您可能需要考虑$mu_id
使用mysql_real_escape_string,$moc_id
使用intval!
$value
是一个浮点数,插入时不需要添加撇号
您确定已连接到此表所在的同一数据库吗?
这可能是一个可行的解决方案(编辑)
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());
}
答案 1 :(得分:1)
试试这个
$query="INSERT INTO Scoretab (mu_id,moc_id,score) VALUES ('$mu_id','$moc_id','$value')";
答案 2 :(得分:1)
错误似乎在表名Scoretab
之前。你仔细检查了你的语法吗?
有时我们看不到眼前的东西! :d
刚复制了这个例子,一切都适合我。