0

PHP を使用して HTML フォームから SQL を更新できないようです。誰か助けてください。

if (isset($_POST['update'])) { 
  $UpdateQuery = "UPDATE  nmc_cd, nmc_category, nmc_publisher SET " . 
                 "nmc_cd.CDTitle='$_POST[CDTitle]', " .
                 "nmc_cd.CDYear='$_POST[CDYear]', " . 
                 "nmc_cd.CDPrice='$_POST[CDPrice]', " .
                 "nmc_category.catDesc='$_POST[catDesc]', " .
                 "nmc_publisher.pubName='$_POST[pubName]' " .
                 "WHERE CDID='$_POST[CDID]'";
}

私のSQLクエリは問題ですか??

4

3 に答える 3

0

PHP ページから SQL クエリを出力してコピーし、データベースで直接実行してみてください。それは成功しますか?

于 2012-11-16T15:14:13.063 に答える
0

試す

if (isset($_POST['update'])){ 
$UpdateQuery = "UPDATE  nmc_cd, nmc_category, nmc_publisher SET nmc_cd.CDTitle='"; $UpdateQuery .= $_POST[CDTitle]."', nmc_cd.CDYear='".$_POST[CDYear]."', nmc_cd.CDPrice='"; $UpdateQuery .= $_POST[CDPrice]."',nmc_category.catDesc='";
$UpdateQuery .= $_POST[catDesc]."',nmc_publisher.pubName='";
$UpdateQuery .= $_POST[pubName]."' WHERE CDID='".$_POST[CDID]."'"; //run query
}

または、すべての Post 変数をに転送して$something、クエリ内で使用するだけです

于 2012-11-16T15:16:58.373 に答える
0

さて、あなたのコードでは、実際にクエリを実行することはありません (with mysql_query($query_string))。}また、 if ステートメントの終了が欠落していました。すべて問題がなければ、生成された SQL が適切であることを確認するために DB (補間された文字列) に対して実行しようとしますが、SQL クエリは問題ないように見えます。

また、フォーム変数を渡して、mysql_real_escape_stringSQL インジェクション攻撃 (または、この場合は単に不正な SQL) を回避していることを確認する必要があります。ドキュメントを参照してください。

于 2012-11-16T15:15:34.757 に答える