Link with "&": & 符号不插入数据库

Link with "&": ampersand not insert into database

如何在数据库中插入一个 link 和 html 特殊字符,如 &(与符号)符号?当我插入它时,输出被切断了..

例如:这个link

https://www.youtube.com/watch?v=TCnxD9V9lGE&index=24&list=PLNVssP8zTtVk5asCmP703gEvR_lG-Ur-S

以及我插入后的输出:

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

&(和号)符号,其余部分被切掉。

这是我的代码:

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

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

您应该考虑使用准备好的查询。这将防止将特殊字符插入数据库时​​出现的大多数问题。 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