0

我对这段代码很头疼:

<html>
<head>
  <title>Westpop</title>
  <link rel="stylesheet" href="opmaak.css">
</head>
<body>
<div id="header"><a href="Index.php"></a></div>

<div id="content">
<table cellpadding="5" align="center">
<th colspan="2" align="left">Registeren:</th>
<form name="registreren"  method="post" action="registratie.php">
<tr>
    <td>Email</td>
    <td><input type="text" size="50" placeholder="email@email.com" name="email"></td>
</tr>
<tr>
    <td>Voornaam</td>
    <td><input type="text" size="50" placeholder="" name="voornaam" ></td>
</tr>
<tr>
    <td>Achternaam</td>
    <td><input type="text" size="50" placeholder="" name="achternaam"></td>
</tr>
<tr>
    <td>Geboorte Datum</td>
    <td><input type="text" size="50" placeholder="dd-mm-jjjj" name="geboortedatum"></td>
</tr>
<tr>
    <td>Geslacht</td>
    <td>M<input type="radio" size="50" value="m" name="geslacht">
    V<input type="radio" size="50" value="v" name="geslacht"></td>

</tr>
<tr>
    <td>Wachtwoord</td>
    <td><input type="password" size="50" placeholder="min. 6 tekens" name="wachtwoord"></td>
</tr>
<tr>
    <td>Woonplaats</td>
    <td><input type="text" size="50" placeholder="" name=""></td>
</tr>
<tr>
    <td>Telefoonnummer</td>
    <td><input type="text" size="50" placeholder="min. 9 tekens" name="telefoonnummer"></td>
</tr>
<tr>
    <td>Functie</td>
    <td><select name="functie">
<option value="catering">Catering</option>
<option value="muziekpodia">Muziek en podia</option>
<option value="vervoerovernachten">Vervoer en overnachten</option>
<option value="logistiekbeveiliging">Logistiek en beveiliging</option>
<option value="diversen">Diversen</option>
</select></td>
</tr>
<tr align="right">
    <td></td>
    <td><input type="reset" value="Wissen"><input type="submit" name="verzenden" value="Verzenden"></td>
</tr>
</form>
</table>
</div>

 <?php 

    $host = "localhost";
    $gebruikersnaam = "root";
    $wachtwoord = "";
    mysql_connect($host, $gebruikersnaam, $wachtwoord);

    $demooistedatabase = "c5g4westpopintranet";
    mysql_select_db($demooistedatabase);


    $achternaam = $_POST["achternaam"];
    $voornaam = $_POST["voornaam"];
    $gbdatum = $_POST["geboortedatum"];
    $email = $_POST["email"];
    $geslacht = $_POST["geslacht"];
    $wachtwoord = $_POST["wachtwoord"];
    $woonplaats = $_POST["woonplaats"];
    $telefoonnummer = $_POST["telefoonnummer"];
    $functie = $_POST["functie"];

    mysql_query($query); 

    $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";


    echo mysql_error();
?>
<?php
include ("html_end.php");
?>

已经尝试了几个小时,但他只是不想插入数据库。我认为这是 SQL 查询的问题,但我看不到它。没什么好说的

编辑1:

感谢所有的答案!我现在编辑了这样的代码:

 $query ="   INSERT INTO vrijwilliger (vrijwilligerID,voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                        VALUES(NULL, '".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

mysql_query($query) or die ("FOUT: ". mysql_error());

现在我收到错误消息:无法添加或更新子行:外键约束失败(c5g4westpopintranet/vrijwilliger,CONSTRAINT vrijwilliger_ibfk_1FOREIGN KEY(activiteitID)REFERENCES activiteitactiviteitID))

4

8 回答 8

9

您在函数调用后编写了查询

mysql_query($query); 

    $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

应该是这样的

 $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

mysql_query($query);
于 2012-06-18T13:01:47.270 回答
2

您必须在执行之前设置查询...

例如$query=之前mysql_query

$functie = $_POST["functie"];

$query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

mysql_query($query); 
于 2012-06-18T13:03:01.143 回答
1

是因为您的调用mysql_query($query);出现在您分配给$query变量之前吗?

于 2012-06-18T13:02:34.937 回答
0
 $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

您没有在上述查询中为该字段“vrijwilligerID”发送任何值。如果是自增 ID,则不需要设置该值。

$query ="   INSERT INTO vrijwilliger (voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                    VALUES( '".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

否则将其设置为空白值''。

其次,您在设置查询变量之前使用 mysql_query 函数。所以像这样使用它。

 $query ="   INSERT INTO vrijwilliger (vrijwilligerID,voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                        VALUES(NULL, '".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

mysql_query($query);
于 2012-06-18T13:02:08.583 回答
0

通过更改修复 INSERT

插入到 vrijwilliger (vrijwilligerID, voornaam

经过

插入到 vrijwilliger (voornaam

如果它不起作用,您可以尝试:

  • 检查您是否有足够的权限来执行查询
  • 编辑您的问题并发布echo mysql_error() 的结果;
  • 回显构建的sql并尝试将其手动执行到mysql中
于 2012-06-18T13:02:27.917 回答
0

看起来您缺少值中的参数。

  $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( **Need A Value Here**,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

除非 vrijwilligerID 在这种情况下是自动生成的,否则它应该从第一组值中删除。

于 2012-06-18T13:03:57.057 回答
0
mysql_query($query); 

        $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                    VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

我不知道PHP,但在我看来,您正在尝试在将查询分配给变量之前执行查询......这两行不应该交换位置吗?

于 2012-06-18T13:09:18.553 回答
0

我相信vrijwilligerID设置为AUTO_INCREMENT.

因此,而不是

    mysql_query($query); 

    $query ="   INSERT INTO vrijwilliger (vrijwilligerID, voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
                VALUES( ,'".$voornaam."','".$achternaam."','".$gbdatum."','".$geslacht."','".$wachtwoord."','".$woonplaats."','".$adres."','".$telefoonnummer."','".$functie."','','','".$email."');";

用这个

$query ="INSERT INTO vrijwilliger (voornaam, achternaam, gbdatum, geslacht, wachtwoord, woonplaats, adres, telefoonnummer, functie, activiteitID, groepID, email)
         VALUES('$voornaam','$achternaam','$gbdatum','$geslacht','$wachtwoord','$woonplaats','$adres','$telefoonnummer','$functie',null,null,'$email')";
mysql_query($query); 

请试试这个,如果您遇到任何问题,请告诉我。

更新 1

对于编辑 1:您在设置时收到此错误,activiteitID=null这是不可接受的,因为null表中没有任何 IDactiviteit

于 2012-06-18T13:25:58.187 回答