【发布时间】:2014-11-06 13:38:05
【问题描述】:
我正在尝试制作注册会员页面。如果一个新成员插入一个已经存在的电子邮件,那么将会有一个通知说该电子邮件存在。但是如果电子邮件不存在,他们在表单中插入的值将被发送到数据库。
我不知道下面的代码有什么问题。它只是空白,不会向数据库发送任何内容。我需要帮助。
<?php
//conection:
$link = mysqli_connect(".com","klaudia","intheclaud","elektro") or die("Error " . mysqli_error($link));
//consultation:
$member_id=$_GET['member_id'];
$member_name=ucwords(htmlspecialchars($_POST['member_name']));
$member_email=$_POST['member_email'];
$member_password=htmlspecialchars($_POST['member_password']);
$member_phone=$_POST['member_phone'];
$member_address_satu=ucwords(htmlspecialchars($_POST['member_address_satu']));
$member_address_dua=ucwords(htmlspecialchars($_POST['member_address_dua']));
$member_reference=$_POST['member_reference'];
$query = "SELECT * FROM member_registry WHERE member_email='$member_email '" or die("Error in the consult.." . mysqli_error($link));
//execute the query.
$result = $link->query($query);
if (mysqli_num_rows($result) > 0) {
echo "This email you are using has been registered before";
}
else {
mysqli_query($link, "INSERT INTO member_registry (
'member_id',
'member_name',
'member_email',
'member_password',
'member_phone',
'member_address_satu',
'member_address_dua',
'member_reference')
VALUES (0,1,2,3,4,5,6,7,8)";
?>
我已尝试检查连接和数据库。这里一切正常。当我插入已在数据库表中的某人姓名时,它会回显该电子邮件已存在。反之亦然。
$query = "SELECT * FROM member_registry WHERE member_name='Klaudia '" or die("Error in the consult.." . mysqli_error($link));
//execute the query.
$result = $link->query($query);
if (mysqli_num_rows($result) > 0) {
echo "This email you are using has been registered before";
}
else {
echo "This email you are using has NOT been registered before";
}
[更新]
mysqli_query($link, "INSERT INTO member_registry (
'member_id',
'member_name',
'member_email',
'member_password',
'member_phone',
'member_address_satu',
'member_address_dua',
'member_reference')
VALUES (0,1,2,3,4,5,6,7,8)");
}
?>
【问题讨论】:
-
究竟是什么错误?
-
它只是空白,不会向数据库发送任何内容
-
像处理连接一样向查询添加错误检查。
-
在您的 INSERT 语句中,删除列名周围的单引号或将它们更改为反引号。
-
关闭mysqli_query函数