【问题标题】:Simple INSERT doesnt work?简单的 INSERT 不起作用?
【发布时间】:2018-11-14 07:28:31
【问题描述】:

这个简单的代码行不通,我真的不知道为什么

任何帮助将不胜感激

   <body>
    <?php
    if (isset($_POST["submit"])) {


        $sql = "INSERT INTO am (schulwoche,kalenderwoche,lehrstoff,anmerkungen,lehrer) VALUES ('".$_GET["sw"]."','".$_GET["kw"]."','".$_GET["ls"]."','".$_GET["an"]."','".$_GET["le"]."')";
        $conn->query($sql1);
    }
    ?>
    <div class="anzeige">
        <form action="insert.php" method="post">
            <b>Schulwoche: </b><input type="text" name="sw"><br>
            <b>Kalenderwoche: </b><input type="text" name="kw"><br>
            <b>Lehrstoff: </b><input type="text" name="ls"><br>
            <b>Anmkerkungen: </b><input type="text" name="an"><br>
            <b>Lehrer: </b><input type="text" name="le"><br>
            <input type="submit" value="Eintragen">
        </form>

【问题讨论】:

  • 在您的查询字符串中将 $_GET 更改为 $_POST。
  • “行不通”?导致服务器捕获文件?
  • 对 SQL 注入攻击开放,不要在生产中使用此代码。
  • Aehm...您确实看到了,您写了$sql = ...,然后写了$conn-&gt;query($sql1);(注意1$sql1 末尾)?
  • 我真的希望你阅读第一条评论。

标签: php sql insert


【解决方案1】:

您收到的错误是什么?我敢打赌,在运行时缺少一个 get 变量,而您正试图在必填字段中插入一个空值。

您的 am 表中还有其他字段可能没有使用 php/sql 插入语法填充。

试试这个

$sql = "INSERT INTO am (schulwoche,kalenderwoche,lehrstoff,anmerkungen,lehrer) VALUES ('".$_GET["sw"]."','".$_GET["kw"]."','".$_GET["ls"]."','".$_GET["an"]."','".$_GET["le"]."')";
echo $sql;

然后复制 SQL 并尝试通过终端或其他方式直接在数据库上运行它。您会很快发现问题所在。

【讨论】:

  • 插入代码在我在 phpmyadmin 中执行时有效。但它不在 .php 文件中
  • 你的意思是 .php 文件?没有错误,该网站只是空白。提交按钮可能没有链接到 INSERT 查询,但我不知道还能尝试什么
  • 您是否有权访问 php.ini 或任何服务器配置来打开错误报告?
猜你喜欢
  • 2012-11-07
  • 1970-01-01
  • 2021-03-11
  • 2021-05-18
  • 2017-05-19
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多