2013-11-15 35 views
0

下面是我正在處理的一個php腳本,但我認爲它缺少一些東西。它不會向數據庫寫入任何內容。我想將圖像路徑上傳到數據庫,而不是圖像。我是一個新手,所以任何幫助將不勝感激。未存儲在數據庫中的信息

<?php 
     $target = "uploads/"; 
     $target = $target . basename($_FILES['uploaded']['name']); 
     $ok=1; 

     //Size condition 
     if ($uploaded_size > 350000) { 
      echo "Your file is too large.<br>"; 
      $ok=0; 
     } 
     //Limit file type condition 
     if ($uploaded_type =="text/php") { 
      echo "No PHP files<br>"; 
      $ok=0; 
     } 
     //Check that $ok was not set to 0 by an error 
     if ($ok==0) { 
      echo "Sorry your file was not uploaded"; 
     } 
     //If everything is ok try to upload it 
     else { 
      if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { 
       echo "The file ". basename($_FILES['uploaded']['name']). " has been uploaded"; 
      } 
      else { 
       echo "Sorry, there was a problem uploading your file."; 
      } 
     } 
     if(isset($_POST['submit'])) { 
      // Create connection 
      $con=mysqli_connect("localhost","****","****","*****"); 

      // Check connection 
       if (mysqli_connect_errno($con)) { 
        echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
       } 
      $prodname = $_POST['prodname']; 
      $cat = $_POST['category']; 
      $des = $_POST['description']; 
      $price = $_POST['price']; 
      $image = "uploads/" . basename($_FILES['uploaded']['name']); 
      $query="INSERT INTO products (prodname, category, description, price, image) VALUES ('$prodname', '$cat', '$des', '$price', '$image')"; 
      $statement = $con->prepare($query); 
      $statement->bind_param('ss', $prodname, $cat, $des, $price, $image); 
      $statement->execute(); 
      $statement->store_result(); 
     } 
     $result = mysql_query($query); 
     if($result) { 
      echo("<br>Product upload is successful"); 
      } 
      else { 
       echo("<br>Product upload failed"); 
      } 
      mysql_close($con); 
?> 
+1

有什麼錯誤?它是否會獲得所有(期望的)代碼段? –

回答

0

試試這個:

$mysqli = new mysqli('****', '****', '****', '****'); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$stmt = $mysqli->prepare("INSERT INTO products (prodname, category, description, price, image) VALUES ('$prodname', '$cat', '$des', '$price', '$image')"); 
$stmt->bind_param('ss', $prodname, $cat, $des, $price, $image); 

/* execute prepared statement */ 
$stmt->execute(); 

printf("%d Row inserted.\n", $stmt->affected_rows); 

$stmt->close(); 

我也是個新手,發現了這個例子。它略有不同,它的工作原理。

+0

對不起,也沒有工作。感謝您的嘗試。 – user2994673

+0

您是否嘗試手動運行語句?也許有一個奇怪的錯誤。 – Augusto

相關問題