表-A
+--------+-----------+---------+
| id | name | views |
+--------+-----------++--------+
| num | text | int |
+--------+-----------+---------+
| 1 | Video 1 | 10 |
| NULL | NULL | 0 |
| NULL | NULL | 0 |
| NULL | NULL | 0 |
| NULL | NULL | 0 |
+--------+-----------+---------+
<a href="video.php?id=video1&idtitle=Hello%20Video1">
<a href="video.php?id=video2&idtitle=Hello%20Video2">
<a href="video.php?id=video3&idtitle=Hello%20Video3">
我正在尝试让脚本做这样的事情。
1.用户点击链接
2.User在video.php上?id = video1
3.Mysql然后在我的id列#1中添加+1
4.然后从$ videoName中获取视频标题
5.Mysql获取$ videoname中的标题并将其存储在名称列#2
上
6.Mysql然后每次ID 1为视图时向视图添加+1
7.Mysql现在以第1行结束
8.如果video.php?id = video2等等,现在Mysql将重复相同的步骤,
我怎样才能实现这一目标?
$id = $_GET['id'];
$videoName = $_GET['idtitle'];
$pdo = new PDO('mysql:localhost;dbname=videocount', 'root', '');
$userip = $_SERVER["REMOTE_ADDR"];
if($userip){
$pdo->query("UPDATE Table_A SET (`id`, `name`, `views`)
VALUES (NULL,$videoName, views+1)");
}
我也尝试下面的代码,但仍然没有运气。
if($userip){
$pdo->query("INSERT INTO `videocount`.`Table_A` (`id`, `name`, `views`)
VALUES (NULL, '$videoname', 'views'+1)");
}
答案 0 :(得分:2)
UPDATE
代替UPDATED
,VALUES
代替VALUE
。此外,您必须在查询中添加WHERE
条件,以选择要更新的记录。
这是另一种正确的语法:
$pdo->query( "UPDATE `Table_A` SET `views`=`views`+1 WHERE `id`='$id'" );
要更新视频名称,您可以执行此查询:
$pdo->query( "UPDATE `Table_A` SET `name`='{$videoName}', `views`=`views`+1 WHERE `id`='$id'" );
在边框上,您应该绑定变量值以避免标题特殊字符出错。
答案 1 :(得分:1)
我认为数据视图逻辑存在一些混淆。
首先,您需要将所有数据保存到数据库中,然后将其列为用户。
使用时点击链接查看此视频,views
列需要更新。