【发布时间】:2017-03-27 04:32:15
【问题描述】:
我有以下 PHP 脚本来更新我的数据库中的 blog view,
<?php include('header.php'); ?>
<?php
$article_id = $_POST['article'];
// echo $article_id;
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$con = mysql_connect($dbhost, $dbuser , $dbpass);
$sql = 'SELECT id,blog_title, blog_body, views FROM tinyblog where id="'. $article_id .'" ';
// UPDATE VIEWS.
mysql_query("UPDATE tinyblog SET views = views + 1 WHERE id = {$article_id}" , $con );
mysql_select_db('tinyblog');
$retval = mysql_query( $sql, $con );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
?>
<div class="article-blog-indiv">
<?php
echo '<h1>'. $row['blog_title'] .'</h1>';
echo '<p>'. $row['blog_body'] .'</p>';
?>
</div>
<?php
}
?>
<?php include('footer.php'); ?>
实际上更新我数据库中的视图字段的是以下代码行:
mysql_query("UPDATE tinyblog SET views = views + 1 WHERE id = {$article_id}" , $con );
现在这行代码似乎不起作用,因为每次我回去检查phpmyadmin时,我看到views字段仍然是0,但是当我直接插入以下语句来测试我的我的phpmyadmin:
mysql_query("UPDATE tinyblog SET views = views + 1 WHERE id = 1);
我看到视图字段增加了,为什么会这样??
【问题讨论】:
-
不要使用
mysql_函数,它们自 php 5.5.0 起已被弃用 -
使用
mysqli_php.net/manual/en/book.mysqli.php代替mysql_函数,或者更好地使用PDOphp.net/manual/en/book.pdo.php。另外,不要使用 root 用户从应用程序连接到数据库。 -
你认为
views = views + 1会在$sql语句中起作用吗? -
@AniketSahrawat 伙计,对象不是要获得
accurate编号。这里的观点......既不是高效的,......它只是让我的脚本工作! :)
标签: php mysql phpmyadmin