Vous utilisez deux variables différentes :
$parcelno
dans votre requête UPDATE
et $parcel = $_REQUEST['parcel'];
les deux variables doivent match. Si ce n'est pas le cas, toute votre requête échouera.
Ajoutez le rapport d'erreurs en haut de vos fichiers juste après votre ouverture <?php
balise, qui sera utile lors des tests de pré-production.
error_reporting(E_ALL);
ini_set('display_errors', 1);
Votre code actuel est ouvert à injection SQL . Utilisez instructions préparées , ou AOP avec instructions préparées .
De plus, je cite nkchandra
dans un commentaire +1
(si je peux) :
"Non pertinent à votre question, mais pour votre information, PHPMyAdmin n'est pas une base de données mais un outil pour interagir avec une base de données comme mysql dans votre cas"
Modifier : Après avoir lu votre commentaire, il semble que vous devrez passer à mysqli_
fonctions.
Il s'agit juste d'une solution rapide avant d'apprendre à utiliser des instructions préparées.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$DB_HOST = "xxx"; // replace with yours
$DB_USER = "xxx"; // replace with yours
$DB_PASS = "xxx"; // replace with yours
$DB_NAME = "xxx"; // replace with yours
$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if($conn->connect_errno > 0) {
die('Connection failed [' . $conn->connect_error . ']');
}
$id= "";
$parcelno = "";
$items = "";
if(isset($_REQUEST['id'])){
$id= mysqli_real_escape_string($conn,$_REQUEST['id']); }
if(isset($_REQUEST['parcel'])){
$parcelno = mysqli_real_escape_string($conn,$_REQUEST['parcel']); }
if(isset($_REQUEST['items'])){
$items = mysqli_real_escape_string($conn,$_REQUEST['items']); }
$sql="UPDATE parcel SET parcelno='$parcelno', items='$items' where id='$id'";
$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");
if (!$result)
{
throw new Exception($conn->error);
}
else { echo "Success"; }
mysqli_close($conn); // close the connection
De plus, selon r3wt's
commentaire :Vous pouvez également utiliser :
$result= $conn->query($sql) or die(mysqli_error()."\n");
au lieu de
$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");