如何在 MySQL 字段中存储和检索冒号 (:)?

How do I store and retrieve a colon (:) in a MySQL field?

我只是想将 URI 存储在 MySQL table 中。当我取回它时,“:”消失了。所以 http://www.example.com 变成了 http//www.example.com 我已经研究过它并且有解决方案; (分号)、.、(逗号)、引号等,但不包括冒号。

我试过 http \://www.xyz.com(没有空格),但它会转换为 http/://www.example.com 我正在使用 php。有什么建议吗?

你真的不需要代码来理解这个问题,但由于人们坚持不懈,甚至不赞成,这里是代码:

<?php
$id = $_GET["id"];
$conn = new mysqli($servername, $username, $password, $dbname); //security parameters not shown

$sql = "SELECT * FROM uri WHERE myURI='" . $id . "'";
$result = $conn->query($sql);
if ($result) {
    $row = $result->fetch_assoc();
    if ($row) {
        $SendTo = $row["SendTo"];
        header("Location: " . $SendTo);
    }
}
?>

注意:我没有显示插入代码,因为在这个阶段我只是手动输入 URI 来创建 POC。

使用mysqli_real_escape_string()函数转义斜杠并安全地存储在数据库中

例如

$url  = "http://www.example.com";
$safeURL = mysqli_real_escape_string($url);

然后在SQL中使用$safeURL var来存储。