1

このコードの Update customer query は、phno送信された値に設定するのではなく、常に定数 2147483647 に設定されています... $phone を正しいものにエコーしようとしましたが、クエリを実行すると機能しません....

<?php
    include 'database.php' ;
    $id=$_POST["customer"];
    $name = $_POST["name"];
    $address = $_POST["address"];
    $phone = $_POST["phno"];
    $sql = "UPDATE `customer`  SET `phno`=$phone, `name`='$name',`address`='$address' WHERE actno=$id";
    if (!mysqli_query($con,$sql))
      {
      die('Error: ' . mysqli_error($con));
      }
    echo "successful";
    mysqli_close($con);
?>
4

2 に答える 2

1

に設定phnoしましINTEGERたね。の最大値INTEGERは 2,147,483,647 であるため、2,147,483,647 より大きい数値は範囲外であり、2,147,483,647 として挿入されます。

のデータ型phnoBIGINTまたはに変更しVARCHARます。

また、クエリは SQL インジェクションに対して脆弱です。詳細については、以下のリンクを参照してください。

以下も参照してください。

于 2013-08-03T13:26:48.270 に答える
0

文字列で $phone を置き換えようとしていると思いますが、文字列を分割するか {} を使用すると、そのようには機能しません。

于 2013-08-03T13:28:23.630 に答える