Php表单更新数据库无法正常工作

时间:2012-11-16 15:07:52

标签: php mysql forms edit

似乎无法使用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查询问题??

3 个答案:

答案 0 :(得分:0)

尝试从php页面打印出sql查询,复制并直接在数据库上运行它。它成功了吗?

答案 1 :(得分:0)

好吧,在您的代码中,您实际上从未执行过查询(使用mysql_query($query_string))。此外,如果您的if语句,您错过了结束}。如果一切正常,那么你的SQL查询看起来没问题,虽然我会尝试对DB(你的插值字符串)运行它以确保生成的SQL是好的。

您还希望通过mysql_real_escape_string传递表单变量,以确保您避免SQL注入攻击(或者只是在您的情况下使用格式错误的SQL)。请参阅docs

答案 2 :(得分: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并在查询中使用