2017-07-08 5 views
-1

私は以下のコードを取得しています。実際にはサーバーにイメージをアップロードし、イメージへのリンクとその他の情報をデータベースに挿入します。何とかmysqliのデータベース挿入部分をスキップします毎回PHP/mysqli:理由なしで行がスキップされる

私は間違っていますか? mysqli-part行の間にエコーを挿入しても、それらをエコーし​​ません。このコードは真剣にスキップされているのですか?

<?php 
    //Handle IMG Upload - copyied from w3schools 
    //THIS WORKS! 
    $target_dir = "uploads/"; 
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
    $uploadOk = 1; 
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
    // Check if image file is a actual image or fake image 
    if(isset($_POST["submit"])) { 
     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
     if($check !== false) { 
      echo "File is an image - " . $check["mime"] . "."; 
      $uploadOk = 1; 
     } else { 
      echo "File is not an image."; 
      $uploadOk = 0; 
     } 
     // Check if file already exists 
     if (file_exists($target_file)) { 
      echo "Sorry, file already exists."; 
      $uploadOk = 0; 
     } 
     // Check file size 
     if ($_FILES["fileToUpload"]["size"] > 500000) { 
      echo "Sorry, your file is too large."; 
      $uploadOk = 0; 
     } 
     // Allow certain file formats 
     if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") { 
      echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
      $uploadOk = 0; 
     } 
     // Check if $uploadOk is set to 0 by an error 
     if ($uploadOk == 0) { 
      exit("Sorry, your file was not uploaded."); 
      // if everything is ok, try to upload file 
     } else { 
      if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
       echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
       echo "File branche: ". $_FILES["fileToUpload"]["name"]; 
      } else { 
       echo "Sorry, there was an error uploading your file."; 
      } 
     } 

    //Database Upload 

    //It starts to skip right after the mysqli_connect command - with skipping i mean that it doesn´t even execute the echos i have inserted in between. 
    //The vars $_POST["txtpost"] and $target_file are completly fine. I checked it, no reason to question this 
    //The password for connection is completly correct. No reason to question. 
    //This code is actually one phrase in german, cause i´m german. verbindung is translated in connection. 

     $verbindung = mysqli_connect('placeholder','placeholder','placeholder','placeholder'); 
     if(mysqli_connect_errno()) { 
      die('Connect Error'); 
     } 
     $verbindung->set_charset("utf8"); 
     $txtpost = $_POST["txtpost"]; 
     $success = $connection->query("INSERT INTO XXX (Txt, ImageURL) VALUES('$txtpost','$target_file')"); 
     if (!$sucess) { 
      $connection->close(); 
      die("Query did not succeed"); 
     } 
     $connection->close(); 
     echo "Query did succeed"; 
    } 
    //This above database action snippet is just being skipped 
?> 
    <html> 

    <head> 
    <title>Example Title</title> 
    </head> 

    <body> 
    <form action="thisdocument.php" method="post" enctype="multipart/form-data"> 
     Text Data: <input type="text" name="txtpost"> <br /> Image Data: <input type="file" name="fileToUpload" id="fileToUpload"> <br /> Date: (USING CURRENT_TIMESTAMP) <br /> Indexing ID Number: (USING AI) <br /> 
     <input type="submit" value="Submit Data" name="submit"> 
    </form> 
    </body> 
    </html> 

画像アップロードは完全に機能し、w3schools.comからコピーされます。すべての個人情報などは明白な言葉に置き換えられます。私は、他に何かを明確にするコメントをコードに挿入しました。

WOOPS:私はちょうどスタックオーバーフローのスニペットエディタが総混乱にこのスニペットを「整理」ことに気づきました。申し訳ありません。明確にするために、if(isset($_POST["submit"])) {部分はコードのまわりにあり、壊れたmysqli部分の周りにもあります。

+0

行がnot__スキップ__are $成功するはずです。コードにはエラーがあり、気づかない場合があります。 –

+0

SQLインジェクションにはオープンしており、パラメータ化されたクエリを使用しています。 – chris85

+3

'$ verbindung'と' $ connection'と '$ success'と' $ sucess' ... –

答えて

0

あなたはここにスペルミスがあります。

if (!$sucess) { 

+0

ですが、まだクエリが実行されているので、レコードが追加されているはずです($ successもFALSEでない限り) –

+0

@ JiriHrazdilが述べたように、私は$ connection/$ verbindungでもエラーがありました。しかし、私はマークする必要があるので、ここでこれをマークしました。 – VicStudio

関連する問題