1

フォームを使用してデータベースを更新しています。すべての値を出力して、すべてが正しく機能していることを確認しますが、データベースに追加するとすべてが間違っています。数量が20000の場合、在庫の数量が1に変更されるだけです。わかりません。私はまだMySQLを学んでいますが、これは苛立たしいです

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    require("serverInfo.php");
    for($i = 0; $i < 10; $i++){
        $quantity = $_POST['quantity'.$i];
        $company = $_POST['company'.$i];
        $size = $_POST['cardSize'.$i];

        if(isset($_POST['box'.$i])){
            echo $quantity . "<br / >";
            echo $size . "<br / >";
            echo $company . "<br / >";
            mysql_query("UPDATE `printRun` SET Quantity = '$quantity' AND Size = '$size'  where status='Open' AND Company = '$company'");
        }
    }
    mysql_close($link);
}
?>
4

2 に答える 2

4

フィルタリングされていないフォームデータをデータベースにエコーして更新することについての通常の講義は割愛します....しかし、あなたのupdate構文は正しくありません。代わりにこれを試してください(AND列リストにはありません)

UPDATE printRunSET 数量='$数量'、サイズ = '$サイズ' ここで、ステータス='オープン' AND 会社 = '$会社'

http://dev.mysql.com/doc/refman/4.1/en/update.html

于 2012-04-06T20:35:58.987 に答える
3

試す

mysql_query("UPDATE `printRun` SET Quantity = '$quantity', Size = '$size'  where status='Open' AND Company = '$company'");
于 2012-04-06T20:36:00.623 に答える