Php 另一种解决方案对后者最好:)这似乎符合我的要求。那么,FETCH\u CLASS是否基于数据库列名填充属性?是的,如果您不想使用此方法,您可以将结果作为一个简单数组获得,并创建一个设置对象值的函数。一切都取决于情况和你在做什么。 class Ignitio
Php 另一种解决方案对后者最好:)这似乎符合我的要求。那么,FETCH\u CLASS是否基于数据库列名填充属性?是的,如果您不想使用此方法,您可以将结果作为一个简单数组获得,并创建一个设置对象值的函数。一切都取决于情况和你在做什么。 class Ignitio,php,mysql,oop,Php,Mysql,Oop,另一种解决方案对后者最好:)这似乎符合我的要求。那么,FETCH\u CLASS是否基于数据库列名填充属性?是的,如果您不想使用此方法,您可以将结果作为一个简单数组获得,并创建一个设置对象值的函数。一切都取决于情况和你在做什么。 class Ignition { public function dataConnection() { return new PDO('mysql:host=localhost;port=8889;dbname=oop_testing','root','roo
另一种解决方案对后者最好:)这似乎符合我的要求。那么,
FETCH\u CLASS
是否基于数据库列名填充属性?是的,如果您不想使用此方法,您可以将结果作为一个简单数组获得,并创建一个设置对象值的函数。一切都取决于情况和你在做什么。
class Ignition {
public function dataConnection() {
return new PDO('mysql:host=localhost;port=8889;dbname=oop_testing','root','root',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
}
class People {
private $db;
// Each person has a
public $id;
public $name;
public $eyecolour;
public $list = array();
public function __construct() {
$this->db = new Ignition();
$this->db = $this->db->dataConnection();
}
public function getList() {
echo "People:<br /><br />";
$sql = $this->db->prepare("SELECT * FROM people");
$sql->execute();
//$this->list = $sql->fetch(PDO::FETCH_ASSOC);
while($person = $sql->fetch(PDO::FETCH_ASSOC)) {
array_push($this->list, $person);
}
/*while($person = $sql->fetch(PDO::FETCH_ASSOC)) {
echo $person['name'] . "<br />";
}*/
}
public function getIndividual($search, $by = "id") {
$sql = $this->db->prepare("SELECT * FROM people WHERE $by = :search");
//$sql->bindParam(":by", $by);
$sql->bindParam(":search", $search);
$sql->execute();
$individual = $sql->fetch(PDO::FETCH_ASSOC);
$this->id = $individual['id'];
$this->name = $individual['name'];
$this->eyecolour = $individual['eyecolour'];
}
}
$people = new People();
$people->getList();
/*echo "<pre>";
var_dump($people->list);
echo "</pre>";*/
foreach ($people->list as $person) {
echo $person['name'];
}
$people->getIndividual(1);
echo "<br />Name: " . $people->name;
echo "<br />Eye Colour: " . $people->eyecolour;
class People {
public $id;
public $name;
public $eyecolour;
public function display() {
echo "Id: {$this->id} name: {$this->name} eyecolour: {$this->eyecolour} <br>";
}
public static function get() {
$result = self::db()->prepare("select * from people limit 1");
$result->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE,'People');
$result->execute();
return $result->fetch();
}
public static function getall() {
$result = self::db()->prepare("select * from people");
$result->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE,'People');
$result->execute();
return $result->fetchAll();
}
public static function db() {
return new PDO("mysql:host=127.0.0.1;dbname=mydb", 'root', '', array(PDO::ATTR_PERSISTENT => true));
}
}
$person = People::get();
$person->display();
$all_people = People::getall();
foreach($all_people as $single_person) {
//$single_person is an instance of People
$single_person->display();
}