gpt4 book ai didi

php - 从 mysql 转换为 mysqli

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

我们很难用这段代码将 mysql_query 转换为 mysqli,错误是

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\Projects\MeterReading\include\functions.php on line 45

这是出现错误的 function.php 代码

//Display Data
function DisplayBLLData($db) {
//global $conn;
$sql = "SELECT * from `bl_inv_discon`";
$result = $db->query($sql);
var_dump($result); die();
return $result;
}

这是另一个用于查询的代码

<?php
include_once 'config.php';

class DB extends mysqli {
function DB() {
global $dbhost, $dbuser, $dbpwd, $dbname;
$conn = mysqli_connect($dbhost, $dbuser, $dbpwd, $dbname) or die("Failed to connect to server!" . mysqli_error());
return $conn;
}
/*function selectDB($dbname) {
global $dbhost, $dbuser, $dbpwd;
$conn = mysqli_connect($dbhost, $dbuser, $dbpwd) or die("Failed to connect to server!" . mysqli_error());
$result = mysqli_select_db($dbname, $conn) or die("Failed to select database!" . mysqli_error());
return $result;
}*/
function query($sql) {
global $dbhost, $dbuser, $dbpwd, $dbname;
// global $conn;
$conn = mysqli_connect($dbhost, $dbuser, $dbpwd, $dbname) or die("Failed to connect to server!" . mysqli_error());

$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
//var_dump($conn); die();
return $result;
}
function num_rows($data) {
return mysqli_num_rows($data);
}
function fetch_array($result) {
return mysqli_fetch_array($result);
}
function fetch_assoc($data) {
return mysqli_fetch_assoc($data);
}
function escape_string($data) {
return mysqli_real_escape_string($data);
}
}
$db = new DB;
?>

最佳答案

您在这里所做的只是创建一个 DB 类的对象,而不是调用 DB 函数来进行连接。我假设您正在考虑将 DB() 作为构造函数,但在 php 构造函数中以不同的方式创建(使用 __construct 关键字)。您需要做的很简单。

$obj=new DB();
$db=$obj->DB();

然后将 $db 作为参数传递给您的函数,我希望它能正常工作。

关于php - 从 mysql 转换为 mysqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45026227/

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