Ich versuche, 2 Spalten durch zwei verschiedene Textfelder zu aktualisieren, aber nach dem Absenden zeigt es 0 Werte in der Datenbank.MySQL Update Abfrage fehlgeschlagen
HTML-Code:
<form action="update_quantity.php" method="post" class="c-shop-form-1">
<tbody>
<?php while ($row = mysqli_fetch_array($query))
{
$id2=$row['id'];
echo " <tr>
<td>{$row['name']}
<td></td>
<td>
<input type='text' class='form-control c-square c-theme' style='width: 90px;' placeholder='Quantity' name='Quantity' id='Quantity'>
</td>
</td>
<td>
<input type='text' class='form-control c-square c-theme' style='width: 90px;' placeholder='Quantity' name='Quantity2' id='Quantity2'>
</td>
</tr>";
}?>
</tbody>
</table>
<button type="submit" value="submit" class="btn c-theme-btn c-btn-square center c-btn-bold c-btn-uppercase">Submit</button>
</form>
PHP-Code: upddate_quantity.php
$quant = mysqli_real_escape_string($link, $_POST['Quantity']);
$id1 = mysqli_real_escape_string($link, $_POST['Quantity2']);
$sql = "UPDATE vm_elements SET physicalStock='$quant', transitQuantity='$id1' WHERE id='1'";
//$res = mysqli_query($link,$sql) or trigger_error(mysqli_error()." in ".$sql);
if(mysqli_query($link, $sql))
{
echo "Records added successfully.";
}
else
{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
Ich brauche Hilfe. Ich verstehe nicht, was fehlt.
'$ quant = mysqli_real_escape_string ($ link, $ _POST ['Quantity']); $ id1 = mysqli_real_escape_string ($ link, $ _POST ['Quantity2']); 'das sind keine Strings oder? Sie können Post-Variablen direkt an die Abfrage senden, ohne mysqli_real_escape_string. – Raghav
@Raghav: Ich habe es ohne mysqli_real_escape versucht, aber es hat nicht funktioniert. Sonst noch etwas, das du herausgefunden hast und das ich vermisst habe? – RCV
Versuchen Sie, SQL-Abfrage zu echoten, erhalten Sie Abfrage mit Werten und führen Sie die Abfrage in DB (phpMyadmin). Überprüfen Sie alles in SQL-Perspektive. – Raghav