【发布时间】:2016-09-15 22:31:25
【问题描述】:
我正在编写一个用户数据库,该数据库调用 find_all 的一个静态方法,该方法调用一个查询方法,该方法反过来返回数据库的所有值,但是每次我尝试调用它时都会遇到麻烦这些错误因为 mysqli_query() 期望参数 1 是 mysqli,字符串在第 20 行的 C:\xampp\htdocs\photogallery\includes\database.php 中给出。我该怎么办?这是代码sn-p 用户.php
require_once("database.php");
class User{
public static function find_all(){
global $database;
$sql= "select * from users";
$result_set = $database->query($sql);
return $result_set;
}
public static function find_by_id($id=0){
global $database;
$result_set = $database->query("SELECT FROM users where id={$id}");
$found = $database->fetch_array($result_set);
return $found;
}
}
数据库.php
public function query($sql){
echo $sql;
$this->last_query = $sql;
echo $result = mysqli_query($sql,$this->connection);
$this->confirm_query($result);
return $result;
}
public function confirm_query($result){
if(!$result){
die("Database query failed:".mysqli_error());
}
}
以及调用代码的index.php如下:
<?php
require_once("../includes/database.php");
require_once("../includes/user.php");
$q = User::find_all();
?>
每次出现错误时,mysqli_query 都希望参数 1 为 mysqli,字符串在第 20 行的 C:\xampp\htdocs\photogallery\includes\database.php 中给出。请帮帮我??
【问题讨论】:
-
使用
mysqli_query($this->connection,$sql);第一个参数是connection variable,第二个是query variable。
标签: php mysql database oop mysqli