【问题标题】:Why won't my data go into my database?为什么我的数据不会进入我的数据库?
【发布时间】:2017-05-03 21:25:50
【问题描述】:

我希望这些值进入我的数据库,但它不会这样做。

表单代码

<form action='ryge.php' method='POST'>
  <p> Navn: </p> <p><?php echo $_SESSION['first'] . " " . $_SESSION['last'] ?></p> <br>
<input type='text' name='name' placeholder='dit navn'> <br>
<input type='text' name='cig' placeholder='Navn på smøger'> <br>
<input type='text' name='brand' placeholder='Navn på brandet af smøger?'> <br>
<input type='text' name='unit' placeholder='Hvor mange enheder har du?'> <br>
<input type='text' name='pris' placeholder='Pris pr smøg'> <br>
<input type='text' name='lighter' placeholder='Har du lighter'> <br>
<input type='text' name='place' placeholder='Lokation til rhyyge'> <br>
<input type='text' name='tid' placeholder='Hvad tid passer dig bedst?'> <br>
<input type='text' name='howlong' placeholder='Hvor langtid har du at rhyyge i?'> <br>
<input type='text' name='day' placeholder='hvilke dag/dage'> <br>
<input type='text' name='pers' placeholder='Alene eller i gruppe?'> <br>
<button type='submit' name='tilføj' >Tilføj til dine præferencer broder</button>
</form>

PHP 代码

<?php
session_start();
include 'dbh.php';

    $name = $_POST['name'];
    $cig = $_POST['cig'];
    $brand = $_POST['brand'];
    $unit = $_POST['unit'];
    $pris = $_POST['pris'];
    $ligther = $_POST['ligther'];
    $place = $_POST['place'];
    $tid = $_POST['tid'];
    $howlong = $_POST['howlong'];
    $day = $_POST['day'];
    $pers = $_POST['pers'];

    $sql = "INSERT INTO prod (name, cig, brand, unit, pris, lighter, place, tid, howlong, day, pers) 
            VALUES ('$name', '$cig', '$brand', '$unit', '$pris', '$ligther', '$place', '$tid', '$howling', '$day', '$pers')";
    $result = mysqli_query($conn, $sql);

header("Location: index.php");

【问题讨论】:

  • 从哪里获得 $_POST['name']$_POST['tid'] 值?
  • 你说它不起作用,但是你有什么错误,警告吗?请注意,您将 dbh.php 包含了两次。
  • 我没有收到任何错误消息,并且使用 $_POST['name'] 和 $_POST['tid'] 我现在已经更正了它,但仍然无法正常工作
  • “它只是不会这样做”和“仍然无法工作”不是可接受的问题陈述。你进行了哪些调试?

标签: php mysql


【解决方案1】:

您在正确的轨道上,但确实需要改进您的代码。首先,您使用的 SQL 语法已经过时并且容易被注入。您应该阅读准备好的语句,并将其作为您未来的编码方式。

其次,正如其他发帖人之一所提到的,您不止一次包含同一个文件。

第三,您还应该查看 ISSET 命令并通过 if / else 语句将其包含在内,以便您的代码正常运行。现在,您正在服务器上运行整个代码,没有数据来填充它。您需要通过 ISSET 寻找合适的“提交”并在此时执行 PHP 代码。

查看此处获取更多帮助:

how to insert into mysql using Prepared Statement with php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 2021-04-20
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多