2016-06-27 2 views
1

안녕하세요. 내 tbl_jadwal을 업데이트하려고하는데, 성공이라고 말했지만 데이터베이스가 업데이트되지 않았습니다. 아무도 문제가있는 곳을 찾는 데 도움이 될 수 있습니까? 감사합니다는데이터베이스 테이블이 업데이트되지 않습니다.

<?php 

    if (isset($_GET['id'])) { 
     $ID = $_GET['id']; 
    } else { 
     $ID = ""; 
    } 

    // create array variable to store category data 
    $category_data = array(); 

    $sql_query = "SELECT Category_ID, Category_name 
      FROM tbl_category 
      ORDER BY Category_ID ASC"; 

    $stmt_category = $connect->stmt_init(); 
    if ($stmt_category->prepare($sql_query)) { 
     // Execute query 
     $stmt_category->execute(); 
     // store result 
     $stmt_category->store_result(); 
     $stmt_category->bind_result($category_data['Category_ID'], 
      $category_data['Category_name'] 
     ); 

    } 

    $sql_query = "SELECT Menu_image FROM tbl_jadwal WHERE Menu_ID = ?"; 

    $stmt = $connect->stmt_init(); 
    if ($stmt->prepare($sql_query)) { 
     // Bind your variables to replace the ?s 
     $stmt->bind_param('s', $ID); 
     // Execute query 
     $stmt->execute(); 
     // store result 
     $stmt->store_result(); 
     $stmt->bind_result($previous_menu_image); 
     $stmt->fetch(); 
     $stmt->close(); 
    } 


    $stmt = $connect->stmt_init(); 
    if ($stmt->prepare($sql_query)) { 
     // Execute query 
     $stmt->execute(); 
     // store result 
     $stmt->store_result(); 
     $stmt->fetch(); 
     $stmt->close(); 
    } 


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

     $nama_lokasi = $_POST['nama_lokasi']; 
     $category_ID = $_POST['category_ID']; 
     $longitude = $_POST['longitude']; 
     $latitude = $_POST['latitude']; 
     $phone = $_POST['phone']; 
     $email = $_POST['email']; 
     $description = $_POST['description']; 


     // get image info 
     $menu_image = $_FILES['menu_image']['name']; 
     $image_error = $_FILES['menu_image']['error']; 
     $image_type = $_FILES['menu_image']['type']; 

     // create array variable to handle error 
     $error = array(); 




    // updating all data    


$sql_query = "UPDATE tbl_jadwal 
         SET Nama_Lokasi = ? , Category_ID = ?, Latitude = ?, Longitude = ?, Phone = ?, Email = ?, Menu_image = ?, Description = ? 
         WHERE Menu_ID = ?"; 

       $upload_image = 'upload/images/' . $menu_image; 
       $stmt = $connect->stmt_init(); 
       if ($stmt->prepare($sql_query)) { 
        // Bind your variables to replace the ?s 
        $stmt->bind_param('ssssssss', 
         $nama_lokasi, 
         $category_ID, 
         $longitude, 
         $latitude, 
         $phone, 
         $email, 
         $upload_image, 
         $description, 
         $ID); 
        // Execute query 
        $stmt->execute(); 
        // store result 
        $update_result = $stmt->store_result(); 
        $stmt->close(); 
       } 
      } else { 

이미지 파일

$sql_query = "UPDATE tbl_jadwal 
         SET Nama_Lokasi = ? , Category_ID = ?, 
         Longitude = ?, Latitude = ?, Phone = ?, Email = ?, Description = ? 
         WHERE Menu_ID = ?"; 

       $stmt = $connect->stmt_init(); 
       if ($stmt->prepare($sql_query)) { 
        // Bind your variables to replace the ?s 
        $stmt->bind_param('sssssss', 
         $nama_lokasi, 
         $category_ID, 
         $longitude, 
         $latitude, 
         $phone, 
         $email, 
         $description, 
         $ID); 
        // Execute query 
        $stmt->execute(); 
        // store result 
        $update_result = $stmt->store_result(); 
        $stmt->close(); 
       } 
      } 

체크 업데이트 결과를 제외한 모든 데이터를 업데이트

if ($update_result) { 
       $error['update_data'] = " <span class='label label-primary'>Success update</span>"; 
      } else { 
       $error['update_data'] = " <span class='label label-danger'>failed update</span>"; 
      } 

이 내 데이터베이스 구조

enter image description here

+0

당신이 SQL 테이블 구조를 붙여 넣을 수 있습니다 시도? –

+0

안녕 Andrei Todorut, 도와 줘서 고마워, 내 데이터베이스 스크린 슛을 넣어 –

+0

안녕하세요, 솔루션을 이미 찾았습니다. bind_param에서 하나 놓치 셨습니다. –

답변

1

bindParam(':data', $data);

으로 bind_param()를 교체하거나 $stmt->execute(array(':data' => $data))

+0

안녕하세요, 솔루션을 이미 찾았습니다. bind_param에서 그 중 하나를 놓칩니다. –

1

H 그냥 간단한 쿼리를 먼저 작성하고 그 앞에 EXPLAIN을 추가하십시오. 예 :

EXPLAIN 업데이트 테이블 집합 이름 = 'test'여기서 id = 1;

이 문은 가능한 모든 오류를 표시합니다. 이 방법으로 문제를 해결할 수 있습니다.

+0

안녕하세요. 솔루션을 이미 찾았습니다. in bind_param –

관련 문제