我正在制作一个小网址短片,一切都像魅力一样。但是我想创建一个“点击”计数器,这样我就可以看到每个链接获得了多少次点击。
这是我的代码:
<?php
if (!empty($_GET["url"])) {
$db = new mysqli("myhost", "myuser", "mypass", "mydb");
if (mysqli_connect_errno()) {
throw new Exception("Connect failed: \n", $db->connect_error());
exit();
}
$get = $db->real_escape_string($_GET["url"]);
$result = $db->query("SELECT url_link FROM urls WHERE url_short =
'" . $get . "'
");
$db->query("UPDATE urls SET url_hits = url_hits + 1 WHERE url_short =
'" . $get . "'
");
$data = $result->fetch_assoc();
$redirect = $data[url_link];
$db->close();
header('HTTP/1.1 301 Moved Permanently');
header("Location: " . $redirect);
} else {
header('HTTP/1.1 301 Moved Permanently');
header("Location: home.php");
}
我期望发生的是第二个查询会将数据库中的数字增加1。
但没有任何反应,脚本不会失败或抛出任何错误,如果我直接在MySQL中运行查询,它就可以正常工作。
我做错了什么?
答案 0 :(得分:1)
只是查看你的代码:
$redirect = $data[url_link];
您需要在您正在调用的数组成员周围引用,例如:
$redirect = $data["url_link"];
当前的方式应该抛出语法错误。如评论中所述,您可能已关闭错误报告。