Nasıl / PHP nesneleri kullanarak bir MySQL veritabanından veri almak bağlayabilirim?

2 Cevap php

Genellikle bağlamak ve (hata basitlik için kaldırıldı kontrolü) standart bir şekilde kullanarak veri almak:

$db = mysql_select_db("dbname", mysql_connect("host","username","passord"));
$items = mysql_query("SELECT * FROM $db");

while($item = mysql_fetch_array($items)) {
    my_function($item[rowname]);
}

My_function o satırda witht bazı yararlı şeyler yapar nerede.

Nesneleri kullanarak eşdeğer kodu nedir?

2 Cevap

Sürüm 5.1 beri, PHP hazırlanmış tablolar için bir sınıf verir PDO sürücüsü ile sevk edilir.

$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); //connect to the database
//each :keyword represents a parameter or value to be bound later
$query= $dbh->prepare('SELECT * FROM users WHERE id = :id AND password = :pass');

# Variables are set here.
$query->bindParam(':id', $id); // this is a pass by reference 
$query->bindValue(':pass', $pass); // this is a pass by value

$query->execute(); // query is run

// to get all the data at once
$res = $query->fetchall();
print_r($res);

bkz PDO driver at php.net

(Hazırlanıp) bu şekilde otomatik olarak sürece binbParam veya bindValue kullanmak gibi, olması gereken ve mysql sorguları yürütmek için güvenli yollarından biri olduğunu tüm kaçış unutmayın.

Orada da benzer bir görevi yapmak için mysqli uzantısı da, ama ben şahsen PDO temiz buluyorum.

Ne bütün bu yolu dolaşma ve bütün bu adımları kullanarak PHP gelince belki her şeyden çok daha iyi bir çözümdür verir.

Daha sonra $query->fetchobject bir nesne olarak veri almak için kullanabilirsiniz.

Sen mysql_fetch_object kullanabilirsiniz ()

http://is2.php.net/manual/en/function.mysql-fetch-object.php