Php MySQL更新语法错误
我使用php在数据库上运行一个基本的更新,但是我遇到了SQL语法错误,我一辈子都看不出哪里出了问题。数据库中的字段称为orders,它被设置为int(8)。我已经尝试将它更改为smallint和varchar,虽然有所增加,但没有乐趣。我也尝试过在查询中修改“and”这个词。代码如下Php MySQL更新语法错误,php,mysql,Php,Mysql,我使用php在数据库上运行一个基本的更新,但是我遇到了SQL语法错误,我一辈子都看不出哪里出了问题。数据库中的字段称为orders,它被设置为int(8)。我已经尝试将它更改为smallint和varchar,虽然有所增加,但没有乐趣。我也尝试过在查询中修改“and”这个词。代码如下 $query = "UPDATE gigs SET order='$order' WHERE gig_id='$id'"; if ($r = mysql_query($query) ) {
$query = "UPDATE gigs SET order='$order' WHERE gig_id='$id'";
if ($r = mysql_query($query) ) {
echo "<p>UPDATED:" . $row['year'] ." - " . $row['month'] . " - " . $row['day'] . " = $order</p>";
} else {
echo "<p>" . mysql_error() . "<br />$q</p>";
}
$query=“更新gigs设置顺序='$order',其中gig\u id='$id';
if($r=mysql\u查询($query)){
echo“更新:“.$row['year']”-“$row['month']”-“$row['day']”=$order”;
}否则{
echo“”.mysql_error()。“
$q”;
}
$order是年、月和日的值组合成一个整数值,例如2013年4月12日=20130412
以下是我收到的错误消息
您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的“order='20040802',其中gig_id='10''附近使用的正确语法
更新gig设置顺序='20040802',其中gig\u id='10'
您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的“order='20040804',其中gig_id='11''附近使用的正确语法
更新gig设置顺序='20040804',其中gig\u id='11'
ORDER
是一个保留关键字。为了使语句不引发异常,您需要使用backtick转义该列
UPDATE gigs SET `order` = '$order' WHERE gig_id = '$id'
PreparedStatements
可以避免在值周围使用单引号
ORDER
是一个保留关键字。为了使语句不引发异常,您需要使用backtick对列进行转义
UPDATE gigs SET `order` = '$order' WHERE gig_id = '$id'
PreparedStatements
可以避免在值周围使用单引号
gid\u id
是数字的-所以其中gig\u id=$id
可能是必需的。@EdHe我同意你的看法,但我不确定数据类型,所以我保留了它。@JW-只是添加了它作为一个注释,以将其标记为另一个可能的问题。谢谢伙计们,这很好,现在都更新了:-)你从我口中说出了这些话。而且可能gid_id
是数字的-所以其中gig_id=$id
可能是必需的。@EdHeal I同意您的意见,但我不确定数据类型,所以我将其保留原样。@JW-只是将其添加为注释,以将其标记为另一个可能的问题。谢谢各位,这很好,现在已全部更新:-)可能重复的可能重复的