这是我的代码
<?php
include("inc/scripts/mysql_connect.inc.php");
?>
<?php
$reg = @$_POST['reg'];
//Declaring Variables
$fn = ""; //First Name
$ln = ""; //Last Name
$em = ""; //Email
$em2 = ""; //Email Confirm
$pswd = ""; //Password
$pswd2 = ""; //Password Confirm
$d = ""; //Sign Up Date
//Registration Form
$fn = strip_tags(@$_POST['first_name']); //First Name
$ln = strip_tags(@$_POST['last_name']); //Last Name
$em = strip_tags(@$_POST['email']); //Email
$em2 = strip_tags(@$_POST['email2']); //Email Confirm
$pswd = strip_tags(@$_POST['password']); //Password
$pswd2 = strip_tags(@$_POST['password2']); //Password Confirm
$d = date("Y-m-d"); //Sign Up Date
if($reg) {
if($fn&&$ln&&$em&&$em2&&$pswd&&$pswd2) {
if($em==$em2){
if($pswd==$pswd2) {
if(strlen($fn)>32||strlen($ln)>32) {
echo "First name and Last name must be no more than 32 characters!";
}
else {
if(strlen($pswd)>30||strlen($pswd)<5) {
echo "Your password must be between 5 and 30 characters ...";
}
else {
$pswd = md5($pswd);
$pswd2 = md5($pswd2);
$query = mysql_query("INSERT INTO users VALUES('','$fn','$ln','$em','$pswd','$d','0')");
die("<h2>Welcome to bakpakk!</h2>");
}
}
}
else {
echo "Your passwords do not match!";
}
}
else {
echo "Your emails do not match!";
}
}
else {echo "Please fill in all fields ...";}
}
?>
用户登录系统将此信息发布到数据库。 “mysql_connect.inc.php”看起来像这样
<?
mysql_connect("localhost","root","250317") or die(myspq_error());
mysql_select_db("bakpakk");
?>
当我在输入字段(名字,姓氏,电子邮件,密码等)中输入数据时,它不会发布到数据库中的表中。我似乎无法弄明白为什么。
答案 0 :(得分:1)
多个可能的问题(注意我在PHP中的MySQl时不是专业人员):
我首先删除声明的变量,然后将它们声明为“”,然后再将它们声明为我想要的值。
你说的地方:
$query = mysql_query("INSERT INTO users VALUES('','$fn','$ln','$em','$pswd','$d','0')");
看起来你有第一个变量等于什么,哪个(特别是如果这是主键)会导致MySQL死亡。
接下来要尝试的两件事是:
mysql_connect("localhost","root","250317") or die(myspq_error());
最后看起来像拼写错误,尝试用
替换它or die (mysql_error());
如果在尝试它不起作用后请告诉我们:) 祝你好运!
更新:
以下是几个月前我写的一个工作数据库连接和插入的示例,我认为它可以帮助您检测任何错误或拼写错误。
<?php
/**
* @author Steven Byrne
* @copyright 2012
* @version 5.2
*/
if(isset($_POST['btn'])){
$btn = mysql_real_escape_string($_POST['btn']);
$username = mysql_real_escape_string($_POST['username']);
$email = mysql_real_escape_string($_POST['email']);
$name = mysql_real_escape_string($_POST['name']);
$link = mysql_connect('localhost','username','password') or die(mysql_error(). "Could not connect to database.");
$dbsel= mysql_select_db('database', $link) or die("Couldn't select database");
//Your validation code
//MySQL
$donation_date = date(Ymd);
$sql = "INSERT INTO mcdonations (username,email,name,amount,date)
VALUES ('$username','$email','$name','$name','$donation_date')";
$result = mysql_query($sql) or die(mysql_error() . "<P>" . $sql);
exit();
}
?>
答案 1 :(得分:0)
由于我的评论实际上是您问题的答案,我会将其正式化。
您正在接收此错误,因为您没有启用PHP简写。那么为什么
<?
mysql_connect("localhost","root","250317") or die(myspq_error());
mysql_select_db("bakpakk");
?>
无效。用
替换此块<?php
mysql_connect("localhost","root","250317") or die(myspq_error());
mysql_select_db("bakpakk");
?>
瞧。