如何在 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来存储。
我只是想将 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来存储。