链接"&":&符号不插入数据库

时间:2016-03-22 14:50:33

标签: php mysqli hyperlink ampersand

如何在数据库中插入带有&(&符号)符号等html特殊字符的链接?当我插入它时,输出被切掉..

例如:此链接

  

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);

1 个答案:

答案 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