【发布时间】:2015-06-04 06:47:21
【问题描述】:
请告诉我我做错了什么?以及如何更好地与基地合作?连接有效,但我看不到来自基地的信息。我刚刚得到:
致命错误:调用未定义的方法 mysqli::arrayQuery()
我不明白如何解决它,Google 也没有提供帮助。
<?php
class Proc{
protected $DB;
function __construct(){
$this->DB=new mysqli('localhost', 'user', 'password', 'basename');
$this->DB->query("set names utf8");}
function __destruct(){unset($this->DB);}
function GetAll(){
$sql="SELECT * FROM users";
$result = $this->DB->arrayQuery($sql, SQLITE_ASSOC);
return $result;}
}
$Yo = new Proc();
$users = $Yo->GetAll();
echo "All users: ".count($users);
foreach ($users as $user){
$id = $user["ID"];
$n = $user["Name"];
echo "{$id} - {$n}<br/>";}
?>
稍作修复,一切正常!谢谢大家!
<?php
class Proc{
protected $DB;
function __construct(){
$this->DB=new PDO("mysql:host=localhost;dbname=basename", user, password);
$this->DB->query("set names utf8");}
function __destruct(){unset($this->DB);}
function GetAll(){
$sql="SELECT * FROM users";
$result = $this->DB->query($sql);
return $result;}
}
$Yo = new Proc();
$users = $Yo->GetAll();
foreach ($users as $user){
$id = $user["ID"];
$n = $user["Name"];
echo "{$id} - {$n}<br/>";}
?>
【问题讨论】:
-
调用未定义的方法 mysqli::arrayQuery() - 我的意思是错误信息很清楚,不是吗?
-
有这个功能可以发
arrayQuery吗 -
检查php.net/manual/en/book.mysqli.php 显示
arrayQuery不可用(mysqli 类没有这样的方法)。另外,切换到 PDO 可能会更好