【问题标题】:Sql query update error in valuessql查询更新值错误
【发布时间】:2015-01-28 02:53:14
【问题描述】:

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

我遇到了一个错误

您的 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.";
}

感谢那些愿意回答的人

【问题讨论】:

  • 您在执行查询之前使用@。这将抑制警告/错误。 php.net/manual/en/language.operators.errorcontrol.php
  • 插入已经有效,先生。我只是真的很困惑。我需要更新和插入
  • 删除@并不能解决任何问题~_~同样的错误
  • 插入已经在工作。现在我有更新问题〜_〜我无法解决那里缺少的东西......

标签: php mysql sql sql-server database


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多