-1

dos、患者、オリジナル、pmts、未解決の変数を含む医療費データを格納するデータベースがあります。

支払いを行った後、支払いを未払いから差し引いて、pmts に追加できるようにしたいと考えています。

$pmt = $_POST[pmt];
$patient = $_POST[patient];
$dos = $_POST[dos];

$sql=("UPDATE medical 
SET pmts = pmts + $pmt
WHERE dos = $dos AND patient = $patient");

POST[] は HTML フォームから来ています。

エラーは発生していません。ただし、既存のテーブル (medical) は更新されません。

4

5 に答える 5

1

pdo コード例:

$pdo->prepare('UPDATE medical 
    SET pmts = pmts + :pmt
    WHERE dos = :dos AND patient = :patient')
->execute(array('pmt'=>$pmt,'dos'=>$dos,'patient'=>$patient));
于 2013-07-13T06:19:30.177 に答える
0

リテラル値を一重引用符で囲んでいません。

$sql="UPDATE medical 
SET pmts = pmts + $pmt
WHERE dos = '$dos' AND patient = '$patient'";
于 2013-07-13T05:59:18.130 に答える
0

クエリを文字列に格納するだけです。関数を使用してデータベース (PDOまたはmysqli) を操作し、このクエリを実行します。

また、クエリを自分で作成する準備済みステートメントを使用することをお勧めします。そうしないと、SQL インジェクションが発生する可能性があります。

于 2013-07-13T06:01:15.157 に答える
0

コードにいくつかのエラーがありました。このコードをチェックしてください:

$pmt = $_POST['pmt'];
$patient = $_POST['patient'];
$dos = $_POST['dos'];

$sql=("UPDATE medical 
SET pmts = pmts + '$pmt'
WHERE dos = '$dos' AND patient = '$patient'");
于 2013-07-13T06:03:17.707 に答える