2016-03-22 1 views
0

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

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

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

+0

спасибо .. решен уже .. – user3012794