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

好吧,在您的代码中,您永远不会真正执行查询(使用mysql_query($query_string))。}此外,如果你的 if 语句,你错过了结束。如果一切正常,那么您的 SQL 查询看起来还不错,尽管我会尝试针对数据库(您的插值字符串)运行它以确保生成的 SQL 是好的。

您还需要传递表单变量,mysql_real_escape_string以确保避免 SQL 注入攻击(或者在您的情况下只是格式错误的 SQL)。请参阅文档

于 2012-11-16T15:15:34.757 回答
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 回答