我的mysql似乎有一个解析错误,php代码可以帮我清理一下这段代码。
$tag = mysql_real_escape_string($_POST['tag']); $query = 'UPDATE tags SET count = count+1 WHERE tag = '.$tag; mysql_query($query,$dbc); if( !mysql_affected_rows() ) { $query = 'INSERT INTO tags (tag,count) VALUES('.$tag.',1)'; if (mysql_query($query,$dbc)); { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($dbc)
答案 0 :(得分:2)
一些问题:在如果之后缺少} ,; ,缺少; ,在成功时死亡(第二次查询) ), $ tag 不在引号中:
$tag = mysql_real_escape_string($_POST['tag']);
$query = "UPDATE tags SET count = count+1 WHERE tag = '".$tag."'";
mysql_query($query,$dbc);
if( !mysql_affected_rows() ) {
$query = "INSERT INTO tags (tag,count) VALUES('".$tag."',1)";
if ( !mysql_query($query,$dbc) )
{
die('Error: ' . mysql_error());
}
echo "1 record added";
}
mysql_close($dbc);
看起来如此,至少如果$ dbc是有效的连接 ...
答案 1 :(得分:0)
$tag = mysql_real_escape_string($_POST['tag']);
$query = 'UPDATE tags SET count = count+1 WHERE tag = "'.$tag.'"';
mysql_query($query,$dbc);
if( !mysql_affected_rows() ) {
$query = 'INSERT INTO tags (tag,count) VALUES("'.$tag.'",1)';
if (!mysql_query($query,$dbc))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
}
mysql_close($dbc);
在最后一行缺少分号
PS:给我们解析错误使得更容易找到答案。
答案 2 :(得分:0)
实际上,您的脚本问题(如单引号)未正确结束。
这是更正后的代码
<?php
$tag = mysql_real_escape_string($_POST['tag']);
$query = "UPDATE tags SET count = count+1 WHERE tag = '".$tag."'";
mysql_query($query,$dbc);
if( !mysql_affected_rows() ) {
$query = "INSERT INTO tags (tag,count) VALUES('".$tag.",1)";
if (mysql_query($query,$dbc))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($dbc)
?>