通常我使用标准方式连接和检索数据(为简单起见,删除了错误检查):
$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在该特定行中执行一些有用的操作。
使用对象的等效代码是什么?
答案 0 :(得分:3)
从5.1版开始,PHP随PDO驱动程序一起提供,它为预准备语句提供了一个类。
$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);
请注意,这种方式(使用预准备语句)将自动转义所有需要的内容,并且是执行mysql查询的最安全的方法之一,只要您使用binbParam或bindValue。
还有mysqli扩展来执行类似的任务,但我个人认为PDO更清洁。
当涉及到PHP时,使用所有这些步骤可以提供更好的解决方案。
然后,您可以使用$query->fetchobject将数据作为对象检索。
答案 1 :(得分:2)
您可以使用mysql_fetch_object()
http://is2.php.net/manual/en/function.mysql-fetch-object.php