На данный вопрос уже ответили:
подскажите, в чем ошибка функции? как исправить?
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>
mysqli_query() может возвращать FALSE в случае ошибки запроса.
Вам необходимо добавить проверку значения, возвращаемого этой функцией, прежде чем использовать его в mysqli_num_rows().
Ну и, конечно же, исправьте сам запрос на "SELECT * FROM images"
, как вам уже рекомендовал u_mulder.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Пишу сайт на codeigniter 4 и при использовании input type file вылазит ошибка на роутер в этом месте