繁体   English   中英

未捕获的TypeError:传递给…的参数1必须是mysqli的实例,给定为null

[英]Uncaught TypeError: Argument 1 passed to … must be an instance of mysqli, null given

我只是一个php代码的初学者,在从事学校项目时会被这个问题困扰一段时间。 我的数据库(使用phpmyadmin)有一个称为Assets的表,其中包含几张图像,每张图像均具有自动递增的ID。 我想创建一个显示功能,将所有这些图像显示给用户,但是我一直遇到这个问题。 任何建议或帮助将不胜感激。

显示功能:

function display(mysqli $conn){

    $sql = "SELECT * FROM assets ORDER BY id DESC";
    $result = mysqli_query($conn, $sql);
    while($row = mysqli_fetch_array($result)){

       echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['file'] ).'"/>'; 

    }
}

与数据库的连接:

/* Try catch to connect to database*/
try{
    $conn = mysqli_connect("localhost", $dbuser, $dbpassword, $db);
}catch(Exception $e){
    echo "<br>" . $e->getMessage();
}

调用显示功能:

<?php display($conn); ?>

只需使用:

function display($conn){
...
}

但是..如果出现错误“为函数参数提供NULL”,则可能将错误的登录名/密码传递给DB-检查它或变量是否超出文件范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM