如何在数据库中插入带有&
(&符号)符号等html特殊字符的链接?当我插入它时,输出被切掉..
例如:此链接
https://www.youtube.com/watch?v=TCnxD9V9lGE&index=24&list=PLNVssP8zTtVk5asCmP703gEvR_lG-Ur-S
和我插入后的输出:
&
(&符号)符号,其余部分被删除。
这是我的代码:
$data = "LINK with & (ampersand)";
$data = mysqli_real_escape_string($connect_db, $data);
答案 0 :(得分:2)
您应该考虑使用准备好的查询。这将防止将特殊字符插入数据库的大多数问题。 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