php - 无法更新mysql表

标签 php mysql

我在更新名为“answers”的数据库表中的值时遇到了问题。因为它没有更新该表。所以,这是我的代码:

 if(isset($_POST['marked']))
            { $marked= $_POST['marked'];
            $command= "UPDATE Answers SET " .
          "SessionID=" . $_POST['SessionID'] . ", " .
          "TestID=" . $_POST['TestID'] . ", " .
          "QuesID=" . $_POST['QuesID'] . ", " .
          "A1=0, " .
          "A2=0, " .
          "A3=0, " .
          "A4=0, " .
          "A5=0, " .
          "A6=0, " .
          "AnswerText=\"\", " .
          "SortOrder='" . intval($_POST['Order']) . "' " .
          "marked=1".
          "WHERE SessionID=" . $_POST['SessionID'] .
          " AND QuesID=" . $_POST['QuesID'];
             $lolsql= mysql_query($command, $conn);


             }

每当有人点击标记(提交按钮)时,我想将值为 0 的“标记”字段更新为 1。 请有人帮助我。提前致谢:)

最佳答案

你的代码极易受到注入(inject)攻击,因为你根本没有清理你的输入并直接更新你的数据库,其次开始使用mysqli_()PDO语句mysql_() 不再由社区维护。

至少使用mysqli_real_escape_string()来清理你的输入

示例

if(isset($_POST['whatever'])) {
  $holder = mysqli_real_escape_string ($connection, $_POST['value']);
}

你的查询完全困惑,为什么要使用串联?你不能像这样简单地写你的查询吗?

$query = "UPDATE table_name SET col_name = '$value', col_name2 = '$value2' ... WHERE ...";

关于php - 无法更新mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209330/

相关文章:

php - 如何防止内存大小耗尽的 fatal error

php - Preg 仅替换数字和/或用百分比表示的数字

php - 如何检查用户当前是否已登录并正在玩 Facebook 应用游戏

php - 将 POST 数组转换为 json 格式

php - 查询不适用于数据查找

php - Laravel 5 获取三级关系

php - php 中 strtotime 函数的错误

php - Mysql,其中名称在数组中

mysql - 跨平台导入 MySQL 数据时出错(MAMP 到 WIMP)

mysql - 我可以查询给定主机给出了多少个 connect_errors 吗?