0

这是我的代码

<?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");
?>

当我在输入字段(名字、姓氏、电子邮件、密码等)中输入数据时,它不会发布到数据库中的表中。我似乎无法弄清楚为什么。

4

2 回答 2

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();
    }
?>
于 2013-04-03T16:52:25.960 回答
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");
?>

瞧。

于 2013-04-03T18:30:49.210 回答