Mysql和PHP有什么问题?

时间:2009-09-21 21:45:53

标签: php mysql

我的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)

3 个答案:

答案 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)

?>