2016-03-22 20 views
0

Veritabanına, & (işareti) sembolü gibi bir html özel karakterleri içeren bir bağlantı nasıl eklenir? Bunu takılı olduğunda, çıkış kesilir .. Örneğin"&" ile bağlantı: ampersand veritabamına eklenmiyor

: Bu bağlantı

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

ve çıkış ı taktıktan sonra:

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

& (işareti) sembolü ve geri kalanı kesildi. Hazırlıklı sorguları kullanarak düşünmelisiniz

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

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

Alıntı yaptığınız kod bir veri tabanına hiçbir şey eklemiyor –

+0

Bu, ekleme ile ilgili bir sorun değil. Büyük olasılıkla * bu bilgiyi * görüntülediğinizde kısaltılır. –

cevap

2

:

Bu benim kodudur. Bu, özel karakterlerin veritabanlarına eklenmesiyle çoğu sorunu önleyecektir. PDO hazırlanan ifadeleri kullanmak için en iyi yoldur (imo). Ayrıca, SQL enjeksiyon önlemeye yardımcı olacaktır hazırlanmış sorgu ile tanışık olmak

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

: Bu kod kullanılarak PDO olmazdı kabaca nasıl. PHP ile biraz daha güvende olduğunuzda, bu kılavuza bir göz atın PDO için: https://phpdelusions.net/pdo

+0

Teşekkür ederim .. zaten çözüldü .. – user3012794