2016-06-07 4 views
0

У меня есть следующая разметка и PHP. Это для галереи - загрузка и отображение изображений. Я прошел через this учебник, но по какой-то причине mysqli_connect_db не может найти БД. что мне не хватает?PHP не может найти базу данных mySQL

<?php 
 
include('upload.php'); 
 
?> 
 

 
<form action="index.php" method="POST" enctype="multipart/form-data"> 
 

 
Choose File: <input type="file" name="file"> 
 
Title: <input type="text" name="nam"> 
 
<input type="submit" name="submit"> 
 

 
</form>

и PHP:

<?php 
 

 
$con = mysqli_connect("localhost","Melvin","") or die ("could not connect to DB"); 
 
mysqli_select_db($con, "galerie") or die ("no database"); 
 

 
if(isset($_POST['submit'])){ 
 

 
$name = $_FILES['file']['name']; 
 
$tmp_name = $_FILES['file']['tmp_name']; 
 
$location = 'uploads/'; 
 
$target = 'uploads/' .$name; 
 

 
\t if(move_uploaded_file($tmp_name,$location.$name)){ 
 
\t \t 
 
\t \t echo "file uploaded"; 
 
\t \t 
 
\t \t $nam = $_POST['nam']; 
 
\t \t $query = mysqli_query($con , "INSERT INTO images(img_name,img_title)VALUES('".$target."','$nam')"); 
 
\t \t 
 
\t } else { 
 
\t \t 
 
\t \t echo "file not uploaded"; 
 
\t \t \t 
 
\t } 
 

 
} 
 

 
$result = mysqli_query($con, "SELECT FROM images"); 
 
while($row = mysqli_fetch_array($result)){ 
 
\t 
 
\t echo "<img src=".$row['img_name']." &nbsp; class='addClass'>"; 
 
\t \t 
 
} 
 

 
?>

+2

не выводит фиксированные/неизменные сообщения об ошибках. они бесполезны. у вас есть DB * TELL *, почему все не удалось: 'или die (mysqli_eror ($ con))'. и обратите внимание, что вы просто ПРИНИМАЕТЕСЬ, что ничто не может ошибиться с запросами, просто предполагают, что загрузка никогда не прерывается, а также уязвимы для [SQL-инъекций] (http://bobby-tables.com) –

+0

Какое точное сообщение вы видите? –

+2

В чем проблема? Можете ли вы не вставлять или не просматривать? Это неверно «$ result = mysqli_query ($ con,« SELECT FROM images »),' должно быть '$ result = mysqli_query ($ con,« SELECT * FROM images »);' – nerdlyist

ответ

1

Кроме того, это не хватает, что вы выбираете

$result = mysqli_query($con, "SELECT FROM images"); 

Должно быть (добавить *):

$result = mysqli_query($con, "SELECT * FROM images"); 
+0

Вы правы в части 'SELECT * FROM', @nerdlyist, но OP выбирает БД с помощью mysqli_select_db ($ con," galerie ") или die (" no database ");' так что 4-й параметр isn из-за этого. – Qirel

+0

Мой плохой обновленный ответ. – nerdlyist

0

Создание нового пользователя со всеми правами в MySql специально для этой базы данных решить эту проблему для меня.

Смежные вопросы