Как мне сохранить и получить двоеточие (:) в поле MySQL?

Я просто пытаюсь сохранить URI в таблице MySQL. Когда я получаю его, «:» исчезает. Так 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.

-2

Решение

использование mysqli_real_escape_string () функция для избежания косых черт и безопасного хранения в базе данных

Например,

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

а затем использовать $safeURL Var в SQL для хранения.

-2

Другие решения

вам нужна функция htmlentities () перед вставкой в ​​базу данных.

Он используется для преобразования символов в соответствующие объекты HTML.

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

// написать вставку & получить код

-2