2009-12-29 27 views
5

Her birinin farklılıkları/avantajları nelerdir? Dezavantajları?MySQL vs PHP MySQLi

Ben tercihlerini veya öznel cevapları kodlama aramıyorum.

pratik diferences nelerdir? (Depolama, uygulama, kodun nasıl göründüğü, ortam gereksinimleri ...)

+0

Ayrıca * [MySQLi vs MySQL zaman kullanarak PHP] (http://stackoverflow.com/questions/548986/mysql-vs-mysqli-when-using-php) * O özetinden –

cevap

11

Sen mysqli ile prepared statements kullanabilirsiniz.
Ve "eski" mysql uzantısı değil sahip bir function to store large (blob) data da var.

// php-mysql: no oo-interface 
$mysqli = new mysqli('localhost', 'localonly', 'localonly'); 
if ($mysqli->connect_error) { 
    die($mysqli->connect_error); 
} 

// php-mysql: no prepared statements 
$stmt = $mysqli->prepare("INSERT INTO foo (mydata) VALUES (?)"); 
$stmt->bind_param("b", $null); 

// php-mysql: no function to send data in chunks 
$fp = fopen("php://input", "r"); 
while (!feof($fp)) { 
    $chunk = fread($fp, 4096); 
    $stmt->send_long_data(0, $chunk); 
} 
$stmt->execute(); 
+0

+1, Bonus Sorusu - MySQL yüklüyse MySQLi'yi nasıl kurarım? MySQLi işlevlerini MySQL veritabanlarını aramak için kullanabilir miyim? – Moshe

+0

MySQL sunucusuna bağlanmak için her iki modülü de kullanabilirsiniz. mysqli, php çekirdeğine derleyebileceğiniz veya bir modül olarak yükleyebileceğiniz bir php modülüdür. Örneğin. * nix dağıtımları genellikle ditribution paket yöneticisi üzerinden kurabileceğiniz php-modulename paketlerine sahiptir. – VolkerK

9

PHP kılavuzunda overview'u okuyun, çoğu soruya cevap verir ve bir karşılaştırma tablosu vardır.

+0

: "Eğer MySQL sürüm 4.1.3 veya daha sonraki sürümlerini kullanıyorsunuz, bunun yerine mysqli uzantısını kullanmanız kesinlikle önerilir. " – Oscar

3

Hazırlanan tabloları biri için, mysqli mevcuttur. OO arayüzünü mysql_foo_bar() yerine $con->foo_bar() kullanabilirsiniz.