首页 / PHP / 增加PHP脚本中的值不起作用
增加PHP脚本中的值不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了增加PHP脚本中的值不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1924字,纯文字阅读大概需要3分钟。
内容图文
![增加PHP脚本中的值不起作用](/upload/InfoBanner/zyjiaocheng/707/97b485630e1d46f1a65653cd2a1ebb2e.jpg)
我有以下PHP脚本来更新我的数据库中的博客视图,
<?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'); ?>
以下代码行实际更新了我的数据库中的views字段:
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);
我看到了视野领域的增量,为什么会发生这种情况?
解决方法:
一些需要修复的事情.首先,当你应该使用mysqli或PDO时,你正在使用mysql.其次,您使用的是帖子数据而根本没有任何转义.第三,您不需要此选择和更新.您可以在一个声明中完成.
$query = "UPDATE tinyblog SET views = views + 1 WHERE id = (SELECT id FROM tinyblog where id=:article)"
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$stmt = $db->prepare($query);
$stmt->execute(array(":article"=>$article_id));
我们在这里做的是用一个占位符创建一份准备好的声明.我们把它命名为:文章,但它本可以保留为?代替.
然后在执行查询时,您需要通过传入参数来填充缺失的位.这就是我们在数组的最后一步中所做的事情(“:article”=> $article_id)
由于它是一个命名参数,我们使用一个关联数组.或者,如果您先调用bindParam,则可以在没有任何参数的情况下调用execute.
内容总结
以上是互联网集市为您收集整理的增加PHP脚本中的值不起作用全部内容,希望文章能够帮你解决增加PHP脚本中的值不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。