mysqli更新无效

时间:2018-04-15 09:32:09

标签: php mysqli

我想在我的php网站中计算访问者名称的数量。为此,我创建了一个包含文件ID,页面名称,视图和编写我的PHP代码的数据库和表。但它没有用。没有显示,但字段'观看'没有得到更新。 这是我的PHP代码。

<?php
$user='root';
$pass='';
$db='my_db';

$db = new mysqli ('localhost', $user, $pass, $db) or die ("unable to connect");
//echo "connection successfull";
?>
<?php
   mysqli_select_db($db, "my_db") or die ("could not find the database");
   $find_viewers = mysqli_query($db, "SELECT * FROM viewcounter");

   While ($row = mysqli_fetch_assoc ($find_viewers))
   {
       $current_counts = $row['views'];
       $new_count = $current_counts + 1;
       $update_count = mysqli_query($db, "UPDATE 'my_db' . 'viewcounter' SET 'views'= $new_count");
       echo "You are visitor number : ";`enter code here`
       echo $new_count;
   }
?>

1 个答案:

答案 0 :(得分:0)

您的查询中有错误,您无法在查询中使用引号

$update_count=mysqli_query($db, "UPDATE 'my_db' . 'viewcounter' SET 'views'= $new_count");
//                                      ^     ^   ^           ^     ^     ^

我认为您打算使用backtick而不是单引号

$update_count=mysqli_query($db, "UPDATE `my_db` . `viewcounter` SET `views` = $new_count");

为了能够在查询中使用引号,您必须enable ANSI_QUOTES mode

  

如果启用了ANSI_QUOTES SQL模式,也允许使用   引用双引号内的标识符......

更多关于When to use single quotes, double quotes, and back ticks in MySQL