值中的 SQL 查询更新错误


Sql query update error in values

大家好,我在这个查询中有一个错误,我再次无法弄清楚出了什么问题? 我找不到错误。我知道这是一个简单的代码,但你们能帮我解决这个问题吗

我收到错误

您的 SQL 语法有误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的"where testid=4 and qnid=1"附近使用的正确语法

$query = "update question set question='" . htmlspecialchars($_REQUEST['question'],ENT_QUOTES) . "',optiona='" . htmlspecialchars($_REQUEST['optiona'],ENT_QUOTES) . "',optionb='" . htmlspecialchars($_REQUEST['optionb'],ENT_QUOTES) . "',optionc='" . htmlspecialchars($_REQUEST['optionc'],ENT_QUOTES) . "',optiond='" . htmlspecialchars($_REQUEST['optiond'],ENT_QUOTES) . "',correctanswer='" . htmlspecialchars($_REQUEST['correctans'],ENT_QUOTES) . "',marks='" . htmlspecialchars($_REQUEST['marks'],ENT_QUOTES) . "',audiopath=" . htmlspecialchars($_REQUEST['AudioPath'],ENT_QUOTES) . " where testid=" . $_SESSION['testqn'] . " and qnid=" . $_REQUEST['qnid'] . " ;";
    if (!@executeQuery($query))
        $_GLOBALS['message'] = mysql_error();
    else
        $_GLOBALS['message'] = "Question is updated Successfully.";
}

感谢那些会回答的人

这应该是你需要的。您缺少引号。看起来你那里还有一个额外的分号。

audiopath='" . htmlspecialchars($_REQUEST['AudioPath'],ENT_QUOTES) . "' where testid='" . $_SESSION['testqn'] . "' and qnid='" . $_REQUEST['qnid'] . "'";

为了使您的应用程序更安全,我会使用 PDO 扩展 http://www.phptherightway.com/#pdo_extension