Bağlanmak ve PHP kullanarak MySQL veritabanını sorgulamak için en iyi yolu nedir?

3 Cevap php

Bu oldukça kolay bir soru ama bir şey bazı açıklık istiyorum.

Ben PHP kullanarak bir MySQL veritabanı bağlamak ve sorgulamak için farklı şekillerde bir dizi gördük ama hangi php kullanarak bir sorgu bağlamak ve oluşturmak için en iyi yolu nedir?

Umarım bu mantıklı.

Teşekkürler

3 Cevap

Bugüne kadar en iyi yolu kullanmaktır prepared statements. Siz PDO veya mysqli kullanarak bunu yapabilirsiniz, ama ben onun adını parametreleri için PDO uzantısı tercih ederim.

Neden çok iyi şekilde tarafından ifadeleri hazırlanır? Onlar alıntı ve sizin için kaçan parametre ilgileneceğim çünkü.

Bad, old, error-prone, tedious way:

$result = mysql_query("SELECT * FROM users WHERE 
                       password='".mysql_real_escape_string($password)."'");

Eğer böyle bir uygulama yazdım, sen kullanıcı girişi kaçmak için bir noktada unutulmuş, ve kocaman bir SQL enjeksiyonu delik bırakmış olacak bahse girebilirsiniz.

Nice prepared statement way:

$stmt = $dbh->prepare("SELECT * FROM users WHERE password=:password");
$stmt->bindParam(':password', $password);
$stmt->execute();

Kaçmak için yapılır, ve hatta onları ihtiyaç parametre türleri tırnak koyarak endişelenmenize gerek yok.

Php versiyonu 'em desteklemek için yeterli yeni olduğunu varsayarak, object-oriented versions kullanın. Bunlar rastgele fonksiyon çorba daha temiz IMHO demektir.

Ben söyleyerek kadar basit olduğunu sanmıyorum "the best way is..."

Şahsen, ben neredeyse hiç kendi kodunu kullanarak bir veritabanına bağlanmak, ben normalde benim için bunu yaparken bir çerçeve var. Ben küçük bir bağımsız uygulama yazma olsaydı söyledi, ben, bir veritabanına bağlanmak ve sorgulamak için PHP Veri Nesneleri (PDO) yaklaşımı kullanmak istiyorum.

the manual pages ihtiyacınız olacak tüm bilgi ve örnekler için bkz.