Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql和PHP问题?_Php_Mysql - Fatal编程技术网

Mysql和PHP问题?

Mysql和PHP问题?,php,mysql,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 = 'INSE

我的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) $tag=mysql\u real\u escape\u字符串($\u POST['tag']); $query='UPDATE tags SET count=count+1,其中tag='。$tag; mysql\u查询($query,$dbc); 如果(!mysql\u受影响的\u行()){ $query='插入标记(标记,计数)值('.$tag',1'); if(mysql_查询($query,$dbc)); { die('Error:'.mysql_Error()); } echo“添加1条记录”; mysql_close($dbc) 最后一行缺少分号


PS:给我们解析错误可以让我们更容易找到答案。

一些问题:缺少之后如果,则缺少,成功后死亡(第二次查询),$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是一个有效的连接,

实际上,脚本的问题就像单引号一样没有正确结束

这是正确的代码

<?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)

?>

我现在得到了这个错误解析错误:语法错误,意外$end in删除第二个if语句末尾的分号。(我修正了我的代码)你忘了关闭第一个if语句it现在可以工作了,但是现在wierd不会更新我的数据库。带有mysql_query()的if语句需要检查false,现在它检查true,这意味着查询可以工作。你指的是引号而不是括号。
<?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)

?>