2017-01-28 55 views
-1

学校のプロジェクトで作業し、ページ上の既存の製品を更新する方法を作成しようとしていますが、更新する価格と説明のみです。私はどこに間違っているのか分かりません。前もって感謝します。クエリに失敗しました。

ここでupdate.phpページで、オプション、選択フォームで製品を動的に表示する機能を作成しました。

これはエラー、あなたのSQL構文でエラーが発生しているfailedYou

クエリです。 「製品は= SAMSUNG 60" FULL HD QUAD CORE 3D SMART LCD LED TV」行で1

これは

機能にupdateData(){

私の更新機能で近く 使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアル をチェック
if(isset($_POST['submit'])) { 
    global $db;  

    $itemName = $_POST['product']; 
    $itemprice = $_POST['itemPrice']; 
    $itemDescription = $_POST['itemDescription'];   


    $query = "UPDATE products SET "; 
    $query .= " price = `$itemprice`, "; 
    $query .= " description = `$itemDescription`, ";  
    $query .= " WHERE product = `$itemName` "; 

    $result = mysqli_query($db, $query); 

    if(!$result) { 

    die("query failed" . mysqli_error($db)); 
    } else { 

     echo "Your details have been updated"; 
     } 

    } 

    } 

、ここでは私のupdate.phpをページです

 require_once ("Includes/simplecms-config.php"); 
    require_once ("Includes/connectDB.php"); 
    include("Includes/header.php"); 
    include("functionsphp.php"); 

    confirm_is_admin(); 
    updateData(); 


    // max file size for the html upload form 
    $max_file_size = 50 * 1024 * 1024; // size in bytes 

    // directory that will recieve the uploaded file 
    $dir = 'Images/products/'; 

?> 

<div id="container"> 
    <div id="admin"> 
     <h1>update Product</h1> 
     <form id="product_form" class="dialogform" 
    action="editProduct.php" method="post" enctype="multipart/form- 
    data"> 
      <div class="form_description"> 
       <p>Fill in the details below to update details to the 
     catalog item.</p> 

       <select class="description" name="product" id=""> 

       <?php ShowProduct();?> 

      </select> 
      </div> 

     <div id="container"> 
    <div id="admin"> 
     <h1>update Product</h1> 
     <form id="product_form" class="dialogform" 
     action="addProduct.php" method="post" enctype="multipart/form- 
     data"> 
      <div class="form_description"> 
       <p>Fill in the details below to update the product to 




     the catalog.</p> 
      </div> 

      <label class="description" for="itemPrice">Price</label> 
      <div> 
       <input id="itemPrice" name="itemPrice" type="text" 
     maxlength="255" /> 
      </div> 

      <label class="description" 
     for="itemDescription">Description</label> 
      <div> 
       <textarea style="width: 350px; height: 108px;" 
    id="itemDescription" name="itemDescription"></textarea> 
      </div> 


      <input id="submit_button" class="button_text" 
      type="submit" name="submit" value="Submit" /> 
     </form> 
     </div> 
    </div> 
+0

それはシンプルなタイプミスです –

+0

どこですか? –

+0

カンマ、引用符、バッククォートはすべて注意して使用する必要があります – Strawberry

答えて

0
$query = " 
UPDATE products 
    SET price = $itemprice 
    , description = '$itemDescription' 
WHERE product = '$itemName' 
"; 

準備クエリとバインドされたクエリについて見てみましょう。そして言及したように、where句は主キーを参照する必要があります

関連する問題