2016-05-13 9 views
0

Ich habe zwei Insert-Updates auf meiner Webseite, ich habe dies in der Vergangenheit ohne irgendein Problem, aber heute habe ich große Probleme, das erste Insert-Update funktioniert perfekt, aber das zweite doesn 't (beim Drücken der Submit-Taste erscheint nichts in der db-Tabelle), auch wenn das exakt gleiche Skript verwendet wird.ZWEI Insert Updates in einer Webseite Probleme

Ich bin nicht sicher, ob es die zwei einfügen Updates auf einer Webseite, oder wenn es die Tatsache ist, dass ich die db nach dem ersten einfügen-Update schließen muss, was ich nicht habe.

Die db-Tabelle, in die ich versuche einzufügen, hat einen eindeutigen Schlüssel, ich bin auch mit meinem db verbunden oder ein komplett anderes Problem, alles zusammen. Sehr frustriert. Bitte helfen

Der zweite Einsatz Update

$Restaurant_id = mysqli_real_escape_string($dbc, $_GET['restaurant_id']); 
       if (isset($_POST['Save_changes'])) { 
     $code = $_POST['Pcode']; 


     $insert_ = "INSERT INTO Delivery_Pcode 
    (Pcode,Restaurant_ID) VALUES(?,?) 
    ON DUPLICATE KEY 
    UPDATE 
    Pcode = ? 
    ,Restaurant_ID = ?"; 


     $r_query = mysqli_prepare($dbc, $insert_); 
     //new 
     // $stmt = mysqli_prepare($dbc, $insert_c); 
     //debugging 
     //$run_query = $dbc->prepare($insert_Delex); 

     $r_query->bind_param('sisi', $code,$Restaurant_id,$code,$Restaurant_id); 
     // THIS now executes the above transaction, returns TRUE if successful - issdissd duplicate update 
     if (!$r_query->execute()) { 
      $insertEr = "There was an error inserting data: " . $r_query->error; 
     } 

     print "affeted rows:" . $r_query->affected_rows; //how many records affected? 
     $r_query->free_result(); // Frees memory on completion 
     $r_query->close(); //closes this action 
    } 

HTML

<form id="delivery_pcodes" action ="Franchise_postcodes.php?restaurant_id=<?php echo $_GET['restaurant_id'] ?>&Franchise=<?php echo $_GET['Franchise']; ?>" method="POST"> 
      <input type="text" name="pcode" id="pcode" value="<?php echo $pcodes; ?>" placeholder="e.g LS1,LS2,LS3" tabindex="2"> 
      <input type="number" name="pcode_price" id="pcode_price" value="" placeholder="e.g 3.50" tabindex="2"> 

      <button type="submit" id="Save_changes" name="Save_changes" value="Save Changes"> 
       <span class="glyphicon glyphicon-ok"></span> Save changes 
      </button> 
     </form> 
+0

Teilen Sie Ihre html auch – C2486

+0

@Rishi hinzugefügt oben – jerneva

+0

sehen Was ist Ihr 'PRIMARY' /' UNIQUE KEY', die Sie für Ihre haben 'ON DUPLICATE KEY'? Wenn es 'Restaurant_ID' ist, dann brauchen Sie' Restaurant_ID =? 'Nicht zu tun, da Sie diesen Wert nicht aktualisieren, und wenn Sie es wären, würde es nie den' ON DUPLICATE KEY' aufrufen, also würde es einfach einen einfügen neue Reihe. – Sean

Antwort

0

In diesem Code sind Sie $code,$Restaurant_id zweimal ausführen.

$r_query->bind_param('sisi', $code,$Restaurant_id,$code,$Restaurant_id); 
+2

Dies ist nicht die Antwort. Wenn du seine Abfrage anschaust gibt es 4 Parameter und er bindet alle 4. – Darren