MySQL错误插入

时间:2015-02-08 13:49:30

标签: php mysql sql sql-insert

我在MySQL和PHP方面遇到了一些问题...... 我试图从输入字段中插入一些信息,但我没有遇到任何问题... 数据库:gemeente 表:aanvraag

代码PHP(表格):

    <?php
$title = 'Aanvragen | Gemeente Loket Den Haag';
include("header.php");
include('nav.php');
include('includes/connect/db_connect.php');
?>
<div id="wrapper"></div>
<div id="aanvragen">
    <form id="aanvraagform" action="aanvraagverwerk.php" method="POST">
        <label for="voornaam">Voornaam:</label><br/>
            <input type="text" id="voornaam" name="voornaam" min="2" max="23" required placeholder="Uw Voornaam..."><br/>
        <label for="achternaam">Achternaam:</label><Br/>
            <input type="text" id="achternaam" name="achternaam" min="2" max="23" required placeholder="Uw Achternaam..."><br/>
        <label for="email">Email:</label><br/>
            <input type="email" id="email" name="email" min="3" max="64" required placeholder="Uw Email..."><Br/>
        <label for="datum">Datum:</label>
            <input type="date" id="date" name="date" required>
        <label for="reactie">Reactie:</label><br/>
            <textarea cols="32" rows="5" name="reactie" placeholder="Eventuele opmerkingen..."></textarea>
        <input type="submit" name="submit" id="submit" value="Vraag Aan">
    </form>
</div>
<?php include('footer.php'); ?>

DBCONNECT文件:

<?php

$verbinding = mysql_connect("localhost", "root", "root") or die ("Kon geen verbinding maken met database");
$db = mysql_select_db("gemeente") or die ("Kon geen database selecteren");
$query = "SELECT * FROM aanvraag";
$resultaat = mysql_query($query, $verbinding) or die (mysql_error);




?>

AANVRAAGVERWERK.php文件:

<?php
include('header.php');
include('nav.php');
include('includes/connect/db_connect.php');


$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$email = $_POST['email'];
$reactie = $_POST['reactie'];
$datum = $_POST['date'];

$query = "INSERT INTO aanvraag (voornaam, achternaam, email, datum, opmerkingen) VALUES ($voornaam, $achternaam, $email, $datum, $reactie)";

include('footer.php');
?>

我几天后尝试了所有的东西,但我仍然没有任何答案..

2 个答案:

答案 0 :(得分:2)

  1. 您的字符串值周围缺少引号:

    $query = "INSERT INTO aanvraag (voornaam, achternaam, email, datum, opmerkingen) VALUES ('$voornaam', '$achternaam', '$email', '$datum', '$reactie')";
    
  2. 您永远不会致电mysql_query()

    mysql_query($query);
    
  3. 您不会检查错误。

    $result = mysql_query($query);
    if (!$result) {
       die(mysql_error()); // This should be more robust
    }
    
  4. You shouldn't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO,here is a good tutorial

  5. 您对SQL injections

  6. 持开放态度

答案 1 :(得分:0)

总是尝试为数字数据类型添加引号,对于字符串,它们是必需的。

$query = "INSERT INTO aanvraag (voornaam, achternaam, email, datum, opmerkingen) VALUES ('$voornaam', '$achternaam', '$email',' $datum', '$reactie')";