1 Востаннє редагувалося kerimov_e (21.02.2020 22:30:15)

Тема: Як зробити виведення з БД картинки. Маю помилку!

Помилка наступного характеру:
Fatal error: Uncaught Error: Call to undefined function mysql_num_rows() in

Маю такий код:

       
                  <?php
                  $host = "localhost";
                  $dbuser = "root";
                  $dbpassword = "";
                  $dbname = "animals";
 
$connection = mysqli_connect("$host", "$dbuser", "$dbpassword", "$dbname");
mysqli_query($connection, "SET NAMES 'utf8'"); //кодування
$query = "SELECT id FROM animalsnorth"; //виведення зображення
$result = mysqli_query($connection, $query) or die("Помилка!" . mysqli_error($connection)); //існує запит? 
if($result)
{
 
if ( mysql_num_rows( $result ) > 0 ) //помилка
    while( $img = mysql_fetch_array( $result ) )
        echo '<img src="data:image/jpeg;base64,'.base64_encode($img['content']).'" />';
}
?>

Виникає помилка, як записати її виправити?
Я переглянув багато прикладів, але рішення не знайшов.
зображення у типі даних blob

2

Re: Як зробити виведення з БД картинки. Маю помилку!

Як мінімум, у Вас mysql_num_rows i mysql_fetch_array, а треба mysqli_

Подякували: koala, leofun012

3

Re: Як зробити виведення з БД картинки. Маю помилку!

Виправив код написавши його зовсім інакше, але картинку все одно не бачить, що робити?


<?php
$servername="localhost"; 
$username="root"; 
$password=" ";/
$dbName="animals"; 
$dbh = new PDO( "mysql:host=$localhost", $username, "" ); 
$link=mysqli_connect($servername,$username,"",$dbName)
or die ("Помилка! ".mysqli_error($link)); 
/*  if ($link){
  echo "<h2>Підключення установлено <br> </h2>"; 
}*/
mysqli_query($link, "SET NAMES 'utf8'"); 
$sql=$dbh->query="SELECT * FROM `animalsnorth`";
$result = mysqli_query($link, $sql) or die("Помилка! " . mysqli_error($link)); 
if($result)
{
while($row = mysqli_fetch_assoc($result))
{
    echo "<img src='" . $row['image'] . "' alt='' />"; // знайшов в інеті, але немає ніяких роз'яснень що куди писати 
}
}

?>
VTrim написав:

Як мінімум, у Вас mysql_num_rows i mysql_fetch_array, а треба mysqli_

4

Re: Як зробити виведення з БД картинки. Маю помилку!

VTrim написав:

в місці де повинне бути зображення його немає https://replace.org.ua/uploads/images/8036/b8b10eb491be3ece9d1d7e93bea1a6d4.png

5

Re: Як зробити виведення з БД картинки. Маю помилку!

Ну то знайдіть в інеті роз'яснення чи правильний код. Навряд чи хто вам тут писатиме підручника.

6

Re: Як зробити виведення з БД картинки. Маю помилку!

я не могу його знайти.

koala написав:

Ну то знайдіть в інеті роз'яснення чи правильний код. Навряд чи хто вам тут писатиме підручника.

7

Re: Як зробити виведення з БД картинки. Маю помилку!

Тоді доведеться читати підручники.

8

Re: Як зробити виведення з БД картинки. Маю помилку!

Не дуже розумію чому це запитання в розділі "Бази даних", а не в "PHP", але то таке.
Переглядаючи Ваші повідомлення..., все що можу порадити - спробуйте рухатися поступово:

1. Гляньте на таблицю в якій має зберігатися картинка, бо ось такі запити наводять на погану думку:

kerimov_e написав:
$query = "SELECT id FROM animalsnorth"; //виведення зображення
$sql=$dbh->query="SELECT * FROM `animalsnorth`";

2. Потім можна глянути чи взагалі, в тій таблиці є запис з картинкою. А якщо є, то яким запитом додавався даний запис в таблицю.
3. Спробувати без PHP витягти картнику з таблиці - лише SQL.
4. Якщо попередні варіанти норм відпрацюють, витягати картинку в PHP коді, але без відображення в HTML
5. Кінцевий варіант - додавайте HTML теги

Подякували: ping, leofun012

9 Востаннє редагувалося VTrim (22.02.2020 14:05:09)

Re: Як зробити виведення з БД картинки. Маю помилку!

Ну дивіться, цей варіант працює.

$image = file_get_contents('https://replace.org.ua/style/Replace/img/logo.png');
echo '<img src="data:image/png;base64, ' . base64_encode($image) .'  "/>';

Отже проблема в некоректному записі вмісту blob зображення.
Перевірте ще раз чи стоїть тип колонки BLOB.

І ще одне, у першому прикладі у вас $row[content'], у другому $row['image'], то  де у вас дані, в колонці content чи image?
І як ви записуєте в БД цей blob ще цікаво.

А, і дійсно

SELECT * FROM `animalsnorth`

Виберіть всі поля провсяк випадок :D

Подякували: leofun011