2017-03-29 4 views
0

Ich möchte die ID-Informationen des ausgewählten Bildes ändern. Ich möchte die ID-Nummer mehr als die letzte verfügbare ID geben.PHP, MySQL Zeile Zeilenaktualisierung auswählen

in HTML;

<form action="netting/operations.php" method="post"> 
<input type="hidden" value="<?php echo $unilogo['uni_logo_id'] ?>" name="uni_logo_id"> 
<button value="use" name="use_again">Use Again</button> 
</form> 

in PHP;

<?php 
if(isset($_POST['use_again'])){ 
    $unilogoid= $_POST['uni_logo_id']; 
    $lastunilogoid = mysqli_query($conn,"SELECT uni_logo_id FROM uni_logo ORDER BY uni_logo_id DESC LIMIT 1"); 
    $unilogosql = "UPDATE uni_logo SET uni_logo_id='".$lastunilogoid."' WHERE uni_logo_id='".$unilogoid."'"; 
    $unilogosira=mysqli_query($conn,$unilogosql,MYSQLI_USE_RESULT); 
?> 
+1

Sie haben vergessen, 'mysqli_fetch_assoc()' zu verwenden, um das Ergebnis der ersten Abfrage zu erhalten. – Barmar

Antwort

1

$lastunilogoid ist nicht die Gültigkeit der ID, es ist ein mysqli_result Objekt. Sie müssen mysqli_fetch_assoc nennen:

$result = mysqli_query($conn,"SELECT uni_logo_id FROM uni_logo ORDER BY uni_logo_id DESC LIMIT 1"); 
$row = mysqli_fetch_assoc($result); 
$lastunilogoid = $row['uni_logi_id']; 

Aber Sie können in einer Abfrage, die ganze Sache tun, und Sie sollten eine vorbereitete Erklärung zu tun, es zu benutzen.

$stmt = mysqli_prepare($conn, " 
    UPDATE uni_logo AS u1 
    JOIN (SELECT MAX(uni_logo_id) AS max_id 
      FROM uni_logo) AS u2 
    SET u1.uni_logo_id = u2.max_id + 1 
    WHERE u1.uni_logo_id = ?"); 
mysqli_stmt_bind_param($stmt, "i", $unilogoid); 
mysqli_stmt_execute($stmt);