数据库资讯

为什么你应该使用PHP PDO访问数据库

# using the shortcut ->query() method here since there are no variable
   # values in the select statement.
 $STH = $DBH->query('SELECT name, addr, city from folks');
# setting the fetch mode
   $STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
   echo $row['name'] . "n";
   echo $row['addr'] . "n";
   echo $row['city'] . "n";
   }

这个 while 循环将在获取完所有数据后停止.{The while loop will continue to go through the result set one row at a time until complete.}

FETCH_OBJ

这种模式为每一行数据创建一个标准类,下面是一个例子:

# creating the statement
 $STH = $DBH->query('SELECT name, addr, city from folks');
# setting the fetch mode
   $STH->setFetchMode(PDO::FETCH_OBJ);
# showing the results
   while($row = $STH->fetch()) {
   echo $row->name . "n";
   echo $row->addr . "n";
   echo $row->city . "n";
   }

FETCH_CLASS

您的对象的属性应该在constructor被调用前设置!这一点很重要!

这种模式允许你直接将获取的数据发送到您选择的类中.当您使用FETCH_CLASS时,您的对象的属性应该在constructor被调用前设置。读一遍,它是重要的。如果属性相匹配的列名不存在,这些属性将被创建,(公共)为您。

这意味着如果你需要转换后出来的数据,它可以通过你的对象自动为转换.

举个列子,假设的情况下该地址必须为特定格式,我们可以通过constructor上做到这一点,下面是一个例子:

class secret_person {
 public $name;
 public $addr;
 public $city;
 public $other_data;
 function __construct($other = '') {
   $this->address = preg_replace('/[a-z]/', 'x', $this->address);
   $this->other_data = $other;
   }
   }

								

							
希望看到您的想法,请您发表评论x