Ссылка с & amp; & quot ;: амперсанд не вставлена ​​в базу данных

Как вставить в базу данных ссылку с html специальными символами вроде & (амперсанд) символ? Когда я вставил его, выход вырезан ..

Например: эта ссылка

https://www.youtube.com/watch?v=TCnxD9V9lGE&Индекс = 24&список = PLNVssP8zTtVk5asCmP703gEvR_lG-Ur-S

и вывод после того, как я вставил его:

https://www.youtube.com/watch?v=TCnxD9V9lGE

& (амперсанд) и остальное вырезано.

Это мой код:

$data = "LINK with & (ampersand)";

$data = mysqli_real_escape_string($connect_db, $data);

0

Решение

Вы должны рассмотреть возможность использования подготовленных запросов. Это предотвратит большинство проблем, связанных со вставкой специальных символов в базы данных. PDO — лучший способ (imo) использовать подготовленные заявления. Примерно так будет выглядеть ваш код с использованием PDO:

$connect_db = new PDO('mysql:dbname=yourdb;host=127.0.0.1;charset=utf8', 'root', '');
$url = //your url with ampersands
$insertquery = $connect_db->prepare("INSERT INTO table1 (urlstring, ...) VALUES (:url,...)");
$insertquery->bindParam(':url',$url);
$insertquery->execute();

Знакомство с подготовленными запросами также поможет предотвратить внедрение SQL. Как только вы почувствуете себя немного увереннее в PHP, посмотрите это руководство для PDO: https://phpdelusions.net/pdo

2

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

Других решений пока нет …