php - MySQL 查询不会使用 MySQLi 执行

标签 php mysql mysqli

我正在制作一个小型网址缩短器,一切都非常顺利。不过,我想创建一个“点击”计数器,这样我就可以看到每个链接获得了多少次点击。

这是我的代码:

<?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 中运行查询,它工作得很好。

我做错了什么?

最佳答案

仅查看您的代码:

$redirect = $data[url_link];

您需要在调用的数组成员周围添加引号,如下所示:

$redirect = $data["url_link"];

您当前的方式应该会引发语法错误。正如评论中提到的,您可能已关闭错误报告。

关于php - MySQL 查询不会使用 MySQLi 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26022749/

相关文章:

javascript - 按下警报按钮后重定向到页面/URL

javascript - 数据从 mysql 到 php 到 javascript 和 html,供图表师使用

php - 从多个表中删除

PHP - 从一个字段中提取逗号爆炸的列表

php使用@符号动态调用函数

PHP 每月重复

php - 如何从电话号码字符串中删除初始(左侧) "+"或 "0"?

MySQL:查询如何使用分隔符逗号计算值

php - Slim micro framework,为什么我无法将记录插入数据库?

php - Mysql在数组中搜索字符串