似乎无法使用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查询问题??
答案 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
并在查询中使用