【问题标题】:Why SQL code isn't running?为什么 SQL 代码没有运行?
【发布时间】:2018-09-09 18:13:33
【问题描述】:

我正在制作一个网站,该网站使用此 html 代码询问用户的输入:

<form>
     <input type="text" name="question1input1" />
</form>

但是当我在第二页上运行它时使用这个 php 上传到数据库:

$que1in1 = $_POST['question1input1'];

if ($que1in1 == "x-coordinate") {

    $answer = '<text style=\'color: yellowgreen;\'>x-coordinate</text>';

    $score = 1;

    $snumber = $_SESSION['DcYnuJmQKJkkBPEY'];

    $sql2 = "UPDATE `chapter 9 pre-test` SET `score1` = '$score' WHERE `chapter 9 pre-test`.`snumber`='$snumber';";

    $sql3 = "UPDATE `chapter 9 pre-test` SET `1` = '".$answer."' WHERE `chapter 9 pre-test`.`snumber`='$snumber';";

    if ($con->query($sql2) == TRUE) {}

    else {echo "something happened... ".$score;}

    if ($con->query($sql3) == TRUE) {}

    else {echo "something happened... ".$answer;}

}

$sql2 返回成功,但 $sql3 返回错误。

【问题讨论】:

  • 表名中可以有空格吗?
  • 尝试更改列名,而不仅仅是数字,可能是answer1
  • 您的栏目名称是1?还是打错字了?
  • 发生错误时打印数据库错误信息。 echo $con-&gt;error;.
  • 这段代码有很多问题,从哪里开始......

标签: php mysql


【解决方案1】:

尝试将 $answer 中的 html 代码更改为使用双引号,因为您在更新查询中使用单引号作为字符串分隔符

$answer = '<text style="color: yellowgreen;">x-coordinate</text>';

如果这是导致此问题的原因,我建议您改用 PDO 和准备好的语句。如果您使用准备好的语句,则不会发生这种情况

【讨论】:

    猜你喜欢
    • 2014-05-18
    • 2021-10-17
    • 2011-08-30
    • 1970-01-01
    • 2022-01-23
    • 2017-04-01
    • 2019-04-23
    • 2020-10-28
    • 2021-07-03
    相关资源
    最近更新 更多