【发布时间】:2015-03-25 08:58:36
【问题描述】:
我目前在将数据插入数据库时遇到了一些问题。我在我的网站中放入一些数据的所有内容都会给出错误:“数据库插入 1 失败”。此外,当我从代码中删除第一个查询时,我得到下一个错误:“数据库插入 2 失败”。等等……
我做错了什么?我的代码中有他们的缺陷吗?
我的数据库描述:
- 6 个表:user、naam、woon、sexe、jaar 和 hobby
- 每个表都有'Lidnummer',设置为A-I、主键和唯一值。它是一个最大长度为 255 的 INTEGER
- Ingelogd 是一个布尔值。
- Dag、maand 和 jaar 也是整数,最大长度为 255
- 电子邮件具有唯一值,并且是一个最大长度为 255 的字符
- 其余变量是最大长度为 255 的字符
我该如何解决这个问题?非常感谢您!
亲切的问候,
附言。下面的代码供那些没有注意到的人使用;)另外,如果有人需要一些额外的信息,当然可以随时询问。我会尽量提供。
Connect.php:
<?php
$connection = mysqli_connect('localhost', 'root', '');
if (!$connection){
die("Database Connection Failed" . mysql_error());
}
$select_db = mysqli_select_db($connection,'datingsite');
if (!$select_db){
die("Database Selection Failed" . mysql_error());
}
?>
注册.php:
<?php
Include('connect.php');
if (isset($_POST['email']) && isset($_POST['wachtwoord'])){
$lidnummer = NULL;
$email = $_POST['email'];
$wachtwoord = $_POST['wachtwoord'];
$Ingelogd = 0;
$Voornaam = $_POST['Voornaam'];
$Tweedenaam = $_POST['Tweedenaam'];
$Achternaam = $_POST['Achternaam'];
$Woonplaats = $_POST['Woonplaats'];
$Provincie = $_POST['Provincie'];
$Ben = $_POST['Ben'];
$Zoek = $_POST['Zoek'];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Hobby1 = $_POST['Hobby1'];
$Hobby2 = $_POST['Hobby2'];
$Opleiding = $_POST['Opleiding'];
$query = "INSERT INTO 'user' (Lidnummer, Email, Wachtwoord, Ingelogd)
VALUES (
'$lidnummer',
'$email',
'$wachtwoord',
'$Ingelogd')";
$query2 = "INSERT INTO 'naam' (Lidnummer, Voornaam, Tweedenaam, Achternaam)
VALUES (
'$lidnummer',
'$Voornaam',
'$Tweedenaam',
'$Achternaam')";
$query3 = "INSERT INTO 'woon' (Lidnummer, Woonplaats, Provincie)
VALUES (
'$lidnummer',
'$Woonplaats',
'$Provincie')";
$query4 = "INSERT INTO 'sexe' (Lidnummer, Ben, Zoek)
VALUES (
'$lidnummer',
'$Ben',
'$Zoek')";
$query5 = "INSERT INTO 'jaar' (Lidnummer, Dag, Maand, Jaar)
VALUES (
'$lidnummer',
'$Dag',
'$Maand',
'$Jaar')";
$query6 = "INSERT INTO 'hobby' (Lidnummer, Hobby1, Hobby2, Opleiding)
VALUES (
'$lidnummer',
'$Hobby1',
'$Hobby2',
'$Opleiding')";
$res = mysqli_query($connection, $query);
if (!$res){
die("Database Insert 1 Failed" . mysql_error());}
$res2 = mysqli_query($connection, $query2);
if (!$res2){
die("Database Insert 2 Failed" . mysql_error());}
$res3 = mysqli_query($connection, $query3);
if (!$res3){
die("Database Insert 3 Failed" . mysql_error());}
$res4 = mysqli_query($connection, $query4);
if (!$res4){
die("Database Insert 4 Failed" . mysql_error());}
$res5 = mysqli_query($connection, $query5);
if (!$res5){
die("Database Insert 5 Failed" . mysql_error());}
$res6 = mysqli_query($connection, $query6);
if (!$res6){
die("Database Insert 6 Failed" . mysql_error());}
if(($res)&&($res2)&&($res3)&&($res4)&&($res5)&&($res6)){
$msg = "User Created Successfully.";
}
}
?>
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Registreren op Chives</title>
<link href="../Css/inlog.css" rel="stylesheet"/>
<link href="../Css/styles.css" rel="stylesheet" />
</head>
<body class="back">
<?php
if(isset($msg) & !empty($msg)){
echo $msg;
}
?>
<div id="Inlog-Container" align="center">
<form action="" method="post">
<H1> Registreren </H1>
<H2> Email:</H2>
<input name="email" type="email" class="Input-box" required/>
<H2> Wachtwoord:</H2>
<input name="wachtwoord" type="password" class="Input-box" required/>
<div class="Radiolabelbox">
<fieldset class="" id="" >
<H2>Ik ben een:</H2>
<div class="Radiolabel">
<label>
<input type="radio" name="Ben" class="styled-radio" value="Man" required/>
Man
</label> <br />
<label>
<input type="radio" name="Ben" class="styled-radio" value="Vrouw"/>
Vrouw
</label>
</div>
</fieldset>
<fieldset class="">
<H2 class="">Ik zoek een:</H2>
<div class="Radiolabel">
<label>
<input type="radio" name="Zoek" class="styled-radio" value="Man" required/>
Man
</label>
<br />
<label>
<input type="radio" name="Zoek" class="styled-radio" value="Vrouw"/>
Vrouw
</label>
<br />
<label>
<input type="radio" name="Zoek" class="styled-radio" value="Beide"/>
Beide
</label>
</div>
</fieldset>
</div>
<H2> Woonplaats:</H2>
<input name="Woonplaats" type="text" class="Input-box" required/>
<H2> Provincie:</H2>
<input name="Provincie" type="text" class="Input-box" required/>
<H2> Hobby 1:</H2>
<input name="Hobby1" type="text" class="Input-box" required/>
<H2> Hobby 2:</H2>
<input name="Hobby2" type="text" class="Input-box" required/>
<H2> Voornaam:</H2>
<input name="Voornaam" type="text" class="Input-box" required/>
<H2> Tweede naam:</H2>
<input name="Tweedenaam" type="text" class="Input-box" required/>
<H2> Achternaam:</H2>
<input name="Achternaam" type="text" class="Input-box" required/>
<H2> Geboortedag:</H2>
<input name="Dag" type="Number" class="Input-box" min="0" max="31" required/>
<H2> Geboortemaand:</H2>
<input name="Maand" type="Number" class="Input-box" min="0" max="12" required/>
<H2> Geboortejaar:</H2>
<input name="Jaar" type="Number" class="Input-box" min="1920" max="2000" required/>
<H2> Opleiding:</H2>
<input name="Opleiding" type="Text" class="Input-box" required/>
<input type="submit" value="GA VERDER" class="Roundbutton" id="Login" />
</form>
</div>
</body>
</html>
【问题讨论】:
-
首先,您将 API 与
mysql_error()混合使用 - 对所有 API 使用mysqli_error($connection)。 -
那么您为所有表使用了错误的标识符。阅读主题 dev.mysql.com/doc/refman/5.0/en/identifier-qualifiers.html -
or die(mysqli_error($connection))到mysqli_query()会告诉你的。所以删除表名周围的引号,或使用刻度` -
非常感谢您的快速回复。我会立即改变这个@Fred-ii-
-
所以,我已将 mysql_error() 更改为 mysqli_error(),现在我收到此错误: ---------- ---------------------- 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“用户”(Lidnummer、Email、Wachtwoord、Ingelogd)附近使用的正确语法 VALUES(“”,“frontname”------------ ------------------------------------------------ frontname 是名为“frontname.backname@my”的电子邮件地址的一部分-email.com'