【问题标题】:Link with "&": ampersand not insert into database用“&”链接:与号不插入数据库
【发布时间】:2016-07-09 12:47:13
【问题描述】:

如何在数据库中插入带有 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);

【问题讨论】:

  • 您引用的代码没有向数据库中插入任何内容
  • 这不是插入的问题。它很可能会在您显示此信息的位置被截断。

标签: php mysqli hyperlink ampersand


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 2013-04-28
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多