gpt4 book ai didi

php mysqli 查询期望参数 1 为字符串

转载 作者:行者123 更新时间:2023-11-29 11:31:34 24 4
gpt4 key购买 nike

我正在编写一个用户数据库,它调用 find_all 的静态方法,该方法调用一个查询方法,该方法又返回数据库的所有值,但每次我尝试调用它时,我都会遇到麻烦这些错误是因为 mysqli_query() 期望参数 1 为 mysqli,第 20 行 C:\xampp\htdocs\photogallery\includes\database.php 中给出的字符串。我该怎么办?这是代码片段用户.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时,mysqli_query的第一个参数必须是连接对象

来自官方documentation :

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

因此您需要更改参数的顺序,$this->connection 首先,$sql 第二:

$result = mysqli_query($this->connection, $sql);

关于php mysqli 查询期望参数 1 为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com