2016-02-13 3 views
-2

Вот мой код для вставки данных в MySQL как Back-end и PHP в качестве front-end Соединение установлено правильно, но вставка запроса не работает, ни он не показывает никаких ошибок в соответствии с иначе условия в конце после запроса на вставку Он не достигает внутри $ _POST ['submit'].Вставить запрос, не работающий в MySQL, PHP

<html> 
<head></head> 
<title></title> 
<body> 
    <form type="post" name="addimage" enctype="multipart/form-data" > 
    Album Name<input type="text" name="albumname"> 
    <input type="file" name="filesToUpload" id="filesToUpload" multiple=""/> 
    </p> 
     Client Name<input type="text" name="clientname"> 
     <br>Location<input type="text" name="location"> 
     <button type="submit" value="submit" name="submit" id="submit">Submit</button> 
</body> 
</form> 
</html> 
<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "apostrophe"; 
$con=mysqli_connect("localhost","root","","apostrophe"); 
mysqli_select_db($con,"apostrophe"); 
if(isset($_POST['submit'])) 
{ 
echo "reached"; 
$albumname=$_REQUEST['albumname']; 
$images=$_REQUEST['filesToUpload']; 
$client=$_REQUEST['clientname']; 
$loc=$_REQUEST['loc']; 
echo "reached submit"; 
$sql="INSERT INTO album(albumname,images,clientname,location)VALUES('$albumname','$albumname','$client','$loc')"; 
echo "reached down"; 
if($con->query($sql)===TRUE) 
{ 
echo "Success"; 
} 
else 
echo "Failed"; 
} 
?> 
+0

вам не нужна эта' mysqli_select_db ($ CON, „апостроф“) ; вы уже объявили все 4 параметра выше этого. Плюс, ваше 'echo" Failed ";' не поможет вам. получить реальную ошибку и использовать отчет об ошибках. –

+0

Это способ хранить файл 'файл' ?? –

+0

плюс, это не по другой причине, и сообщение об ошибке сообщило бы вам об этом. Вы также используете '' $ albumname ',' $ albumname'' дважды; *Зачем?*. Вы также не перемещаете этот файл, так что это говорит мне, что вы пытаетесь ввести двоичные данные. –

ответ

0

Изменить строку:
<form type="post" name="addimage" enctype="multipart/form-data">
к
<form method="post" name="addimage" enctype="multipart/form-data">

+1

Действительно хороший улов, но вы пропустили несколько вещей. Посмотрите мой последний комментарий по их вопросу. Это должно дать вам ключ. Я решил не публиковать ответ на этот вопрос. Слишком много неизвестных на мой вкус. –

+0

Я знаю, но первая ошибка - это метод. Я думаю, что после этого он может решить свою проблему – paranoid

+0

* «Я думаю, что после этого он сможет решить свою проблему» * - Это не то, что сообщение об этом. Вы только отправили исправление опечатки. –

2

Исходный код имеет довольно много ошибок в (форме колеблется body, неправильная декларацией методы формы, название вне головы и т. д.), и нет попытки обработать фактические загруженные изображения. Будем надеяться, что следующий должен дать вам хороший старт с получением обработки кусок завершен файл - хотя, без сомнения, я пропустил что-то слишком «-)

<?php 
    $status=''; 
    /* Might as well test that all necessary fields are included in form submission */ 
    if(isset($_POST['submit'], $_POST['albumname'], $_POST['clientname'], $_POST['location'])){ 

     /* only need to declare the db connection if the variables are set */ 
     $servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $dbname = "apostrophe"; 

     /* create the db conn */ 
     $con=mysqli_connect("localhost","root","","apostrophe"); 

     /* at least some basic filtering if you intend to place user submitted content directly in the sql */ 
     $albumname=strip_tags(filter_input(INPUT_POST,'albumname',FILTER_SANITIZE_STRING)); 
     $client=strip_tags(filter_input(INPUT_POST,'clientname',FILTER_SANITIZE_STRING)); 
     $loc=strip_tags(filter_input(INPUT_POST,'location',FILTER_SANITIZE_STRING)); 



     /* handle file uploads */ 
     $fieldname='filesToUpload'; 

     foreach($_FILES[$fieldname]['name'] as $i => $name) { 
      if(!empty($_FILES[$fieldname]['tmp_name'][$i])) { 

       $filename = $_FILES[$fieldname]['name'][$i]; 
       $size = $_FILES[$fieldname]['size'][$i]; 
       $type = $_FILES[$fieldname]['type'][$i]; 
       $tmpfile = $_FILES[$fieldname]['tmp_name'][$i]; 

       /* copy file to final destination - this is not complete!! */ 
       $bytes=move_uploaded_file($tmpfile, '/path/to/final/directory/'.$filename); 

       /* to debug uncomment below */ 
       #echo $filename,$tmpfile,$size,$type; 
      } 
     } 

     /* prepare and execute sql */ 
     $sql="INSERT INTO `album` (`albumname`, `images`, `clientname`, `location`) VALUES ('$albumname', '$albumname', '$client', '$loc')"; 

     /* set status variable to be displayed under form */ 
     $status=($con->query($sql)===TRUE) ? "Success" : "Failed"; 

    } else { 
     $status='bad foo'; 
     $status=print_r($_POST, true); 
    } 
?> 
<html> 
    <head> 
     <title>File upload and database inserts</title> 
    </head> 
    <body> 
     <form method="post" name="addimage" enctype="multipart/form-data" > 
      Album Name<input type="text" name="albumname"> 
      <input type="file" name="filesToUpload[]" id="filesToUpload" multiple=""/> 

      Client Name<input type="text" name="clientname"> 
      <br> 
      Location<input type="text" name="location"> 
      <button type="submit" value="submit" name="submit" id="submit">Submit</button> 
     </form><?php echo $status; ?> 
    </body> 
</html> 
+0

* «хотя, без сомнения, я что-то пропустил» * - Yep '$ _POST ['loc']' => 'name =" location "' - Кроме того, трудно сказать, хочет ли OP отправить файл (s) в папку или как BLOB/LONGBLOB. Удачи Ram ;-) oh и '' $ albumname ',' $ albumname'' используется дважды. Не задумывайтесь об этом. –

+0

:) спасибо @ Fred-ii- ~ хорошее место, кстати, я не заметил, что ошибся. Я полагал, что использование '$ albumname' дважды в sql было потому, что OP не знал, как получить имя файла, но, как говорится,« Предположим, что нужно сделать попку u и меня ». – RamRaider

+0

приветствуем. Я сделал небольшое редактирование, где '$ _POST ['loc']' должен был читать как '$ _POST ['location']' ;-), который вы пропустили. –

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