Mysqli'nin muadili :: real_escape_string?

3 Cevap php

stripslashes (?) O topal ve böylece 4.0 bulunuyor. Mysqli'nin 5.0 muadili :: real_escape_string SQL sorguları için eklenen tüm bölü soyarak nedir?

Diğer bazı sorular var:

  1. Bir kaydı güncelleştirmek için çalıştı ve bir metin alanına bir tek alıntı ekledi, phpMyAdmin yerine bölü tek tırnak ile dize kaçar çıkıyor - örneğin Tek bir alıntı yerine (2 tek tırnak)'' olarak \ 'kaçtı - ne fonksiyon phpMyAdmin kullanarak veya kendi olduğunu? Yani, mysql yani çizgi ve tek tırnak, dizeleri kaçan 2 yaklaşımlar destekler?

  2. Ben her zaman mysql seçilen dize unslash zorunda mıyım? Eğer ekleme de savurdu biliyorum 'neden olur. Ama gerek yok sanıyordum.

Herhangi bir fikir, teşekkürler!

3 Cevap

PDO ile gitmek istemiyorum, ve mysqli kullanıyorsanız, hazırladığınız ifadeleri kullanıyor olmalıdır, böylece mysql_real_escape_string_i_mean_it_this_time gibi şeylerle tırnak kaçan konusunda endişelenmenize gerek yok.

Daha ayrıntılı olarak, mysqli->prepare sorgunuzu hazırlamak için arayabilirsiniz. Çağrı mysqli_stmt->bind_param parametre değerlerini ayarlamak için. Ve, sorguyu yürütmek için mysqli_stmt->execute diyoruz.

PDO yerine mysql[i] / pgsql / ... uzantılarının herhangi birinin kullanın.

Sadece sihirli tırnak tarafından yapılan zararı tersine arıyorsanız, olsa da, stripslashes() aradığınız tam olarak budur.

ini_set('magic_quotes_runtime', false);