отправка и вывод изображения mySQL [дубликат]

147
14 марта 2019, 13:40

На данный вопрос уже ответили:

  • mysql_fetch_array() expects parameter 1 to be resource (or mysqli_result), boolean given 3 ответа

подскажите, в чем ошибка функции? как исправить?

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in D:\OpenServer\OSPanel\domains\insertimage\index.php on line 50

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>USER PAGE</title>
</head>
<body>
    <form method="POST" enctype="multipart/form-data">
        <input type="file" name="image">
        <input type="submit" value="Submit" name="submit">
    </form>

    <?php 
if (isset($_POST['submit'])) {
    if (getimagesize($_FILES['image']['tmp_name']) == FALSE) {
        echo "Failed";  
    }else{
        $name = $_FILES['image']['name'];
        $image = $_FILES['image']['tmp_name'];
        saveimage($name,$image);
    }
}
function saveimage($name, $image){
    $con = mysqli_connect('localhost', 'mysql', 'mysql', 'roman');
    $sql = "INSERT INTO images (name, image) VALUES ('$name', '$image')";
    $query = mysqli_query($con, $sql);
    if ($sql) {
        echo "success query <br>";
    }else{
        echo "error sql <br>";
    }
    if ($query) {
    echo "success <br>";
    }else{
        echo "not uploaded <br>";
    }
}
display();
function display(){
    $con = mysqli_connect('localhost', 'mysql', 'mysql', 'roman');
    $sql = "SELECT FROM * images";
    $query = mysqli_query($con, $sql);
    $num = mysqli_num_rows($query);   //--------------------ошибка этой функции
    for ($i=0; $i < $num ; $i++) { 
        $result = mysqli_fetch_array($query);
        $img = $result['image'];
        echo '<img src="data:image;base64,' . $img . '">';
    }
}
     ?>

</body>
</html>
Answer 1

mysqli_query() может возвращать FALSE в случае ошибки запроса.
Вам необходимо добавить проверку значения, возвращаемого этой функцией, прежде чем использовать его в mysqli_num_rows().
Ну и, конечно же, исправьте сам запрос на "SELECT * FROM images", как вам уже рекомендовал u_mulder.

READ ALSO
Codeigniter 4 проблема с загрузкой файлов

Codeigniter 4 проблема с загрузкой файлов

Пишу сайт на codeigniter 4 и при использовании input type file вылазит ошибка на роутер в этом месте

148
Работа return в php [закрыт]

Работа return в php [закрыт]

Всем приветНе могу разобраться, как работает return в php

144
PHP | Вопрос по переменным и file_get_contents [закрыт]

PHP | Вопрос по переменным и file_get_contents [закрыт]

Как здесь исправить ошибку? Код:

154
Спарсить данные с etherscan [дубликат]

Спарсить данные с etherscan [дубликат]

Данный вопрос является точным дубликатом:

148