2013-11-15 6 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

관련 문제