Как я могу исправить этот код, я в отчаянии
пытаясь вставить и отобразить изображения в БД с помощью php, у меня есть три ошибки.
Ошибка № 1.
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\luana_itec244\php\dashboard.php on line 32 Call Stack
ошибка № 2:
Warning: move_uploaded_file(images/bhaji_n_pigtails.jpg): failed to open stream: No such file or directory in C:\wamp64\www\luana_itec244\php\dashboard.php on line 80
пожалуйста помогите и очень ценю
Что я уже пробовал:
<pre><?php $db_host='localhost'; $db_username='root'; $db_password=""; $con=mysqli_connect($db_host,$db_username, $db_password) or die (mysqli_connect_error()); mysqli_select_db($con, 'food') or die (mysqli_error($con)); if(isset($_POST['submit']) && isset($_GET['img_id'])) { $sql= "SELECT * FROM tbl_images WHERE img_id={$img_id}"; $result=mysqli_query($con, $sql) or die("Error:" .mysql_error($con)); $rowcount=mysqli_num_rows($result); } ?> <html> <body> <div id="content"> <?php $db_host='localhost'; $db_username='root'; $db_password=""; $con=mysqli_connect($db_host,$db_username, $db_password) or die (mysqli_connect_error()); $sql ="SELECT * FROM tbl_images"; $result = mysqli_query($con, $sql); while($result = mysqli_fetch_array($result)) { echo "<div id=img_div"; echo "<img src='images/" .$row['image']. "'>"; echo "<p>" .$row['text']. "</p>"; echo "<div>"; } ?> </div> <form method="post" enctype="multipart/form-data" > <br/> <input type="hidden" name="size" value="100000"> <br/><br/> <div> <input type="file" name="image" value="Upload"> </div> <div> <textarea name="text" cols="40" rows="4" placeholder="say something"></textarea> </div> <div> <input type="submit" name="upload" value="Upload" /> </div> </form> <?php $msg=""; if(isset($_POST['upload'])) { $image_text = mysqli_real_escape_string($con,$_POST['text']); $target="images/" .basename($_FILES['image']['name']); $db_host='localhost'; $db_username='root'; $db_password=""; $con = mysqli_connect($db_host, $db_username, $db_password); $image = $_FILES['image']['name']; $text = $_POST['text']; $sql = "INSERT INTO tbl_images ('image', 'text') values($text, $image)"; mysqli_query($con, $sql); if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) { $msg ="Image upload successfully"; } else { $msg = "Error uploading image"; } $result = mysqli_query($con, "SELECT * FROM tbl_images"); } ?> </body> </html>
Kornfeld Eliyahu Peter
Отладьте свой код!!!
http://php.net/manual/en/mysqli-да.query.php
"Возвращает FALSE при сбое. Для успешного выбора, показа, описания или объяснения запросов mysqli_query() вернет объект mysqli_result. Для других успешных запросов mysqli_query() вернет TRUE."
Richard MacCutchan
1. Пожалуйста, прочтите документацию MySQL, где она объясняет, какие значения могут быть возвращены по каждому запросу.
2. либо имя файла неверно, либо путь не существует. Только вы можете проверить и то, и другое.