php-更新到SQLi时,MySQL注册不起作用?

因此,我实际上对MySQLMySQLi之间的差异了解不多,在我工作时,我会慢慢地将其掌握…我正在尝试在此新网站上使用旧的sql PHP注册表格,运气不好,我要么得到“ MysqLi_query()至少需要2个参数,给定1个”或空白页,要么它带回站点错误,如“所需的用户名是必填字段.请在下面输入.”何时填写该字段?如果有人可以看看,我将不胜感激!谢谢.

Register.PHP-

 <?PHP
if (isset($_GET['signuperror'])) {
    $signuperror = $_GET['signuperror'];
} else {//if there is no choice, display series 1
    $signuperror = 1; 
}

switch($signuperror) {

    case 1:
        echo '';
    break;

    case 2:
       echo "<div class='alert alert-danger'><strong>First Name is a required field. Please enter it below.</strong></span></div> ";
    break;

    case 3:
        echo "<div class='alert alert-danger'><strong>Last Name is a required field. Please enter it below.</strong></span></div> ";
    break;

    case 4:
        echo "<div class='alert alert-danger'><strong>Email Address is a required field. Please enter it below.</strong></span></div> ";
    break;

    case 5:
        echo "<div class='alert alert-danger'><strong>Desired Username is a required field. Please enter it below.</strong></span></div> ";
    break;

    case 6:
        echo "<div class='alert alert-danger'><strong>Your passwords do NOT match, please check your passwords.</strong></span></div> ";
    break;

    case 7:
        echo "<div class='alert alert-danger'><strong>Your email address has already been used by another user. Please use a different Email address.</strong></span></div> ";
    break;

    case 8:
        echo "<div class='alert alert-danger'><strong>The username you have selected has already been used by another user. Please choose a different Username.</strong></span></div> ";
    break;

    case 9:
        echo "<div class='alert alert-danger'><strong>There has been an error creating your account. Please contact the admin.</strong></span></div> ";
    break;

    default:
    break;
}


?> 


              <form name="register" id="register" action="registercode.PHP" method="POST"> 
                 <div class="register-top-grid">
                    <h3>PERSONAL informatION</h3>
                     <div class="wow fadeInLeft" data-wow-delay="0.4s">
                        <span><b>First Name</b><label>*</label></span>
                        <input type="text" value="" data-msg-required="Please enter your first name." maxlength="100" name="first_name" id="first_name" required> 
                     </div>
                     <div class="wow fadeInRight" data-wow-delay="0.4s">
                        <span><b>Last Name</b><label>*</label></span>
                        <input type="text" value="" data-msg-required="Please enter your last name." maxlength="100" name="last_name" id="last_name" required> 
                     </div>
                     <div class="wow fadeInRight" data-wow-delay="0.4s">
                         <span><b>Email Address</b><label>*</label></span>
                         <input type="email" value="" data-msg-required="Please enter your email address." data-msg-email="Please enter a valid email address." size="68" name="email_address" id="email" required> 
                     </div>
                     <div class="clearfix"> </div>
                       <a class="news-letter" href="#">
                         <label class="checkBox"><input type="checkBox" name="checkBox" checked=""><i> </i>Sign Up for Newsletter</label>
                       </a>
                     </div>
                     <div class="register-bottom-grid">
                            <h3>LOGIN informatION</h3>
                            <div class="wow fadeInLeft" data-wow-delay="0.4s">
                        <span><b>Username</b><label>*</label></span>
                        <input type="text" value="" data-msg-required="Please enter a valid username." maxlength="100" name="username" id="username" required> 
                     </div><div class="clearfix"> </div><div class="clearfix"> </div><div class="clearfix"> </div><div class="clearfix"> </div>
                             <div class="wow fadeInLeft" data-wow-delay="0.4s">
                                <span><b>Password</b><label>*</label></span>
                                <input type="password" value="" name="password" id="password" required>
                             </div>
                             <div class="wow fadeInRight" data-wow-delay="0.4s">
                                <span><b>Confirm Password</b><label>*</label></span>
                                <input type="password" value="" name="passwordcheck" id="passwordcheck"  required>
                             </div>
                     </div>

                <div class="clearfix"> </div>
                <div class="register-but">

                       <input type="submit" value="REGISTER" class="btn btn-info"> | Already a member? <a href="signin.PHP"><b>Login</b></a>
                       <div class="clearfix"> </div>
                   </form>
                </div>
           </div>
         </div>
    </div>
<!-- registration -->

registercode.PHP-

    <?

include 'core/init.PHP';

// Define post fields into simple variables
$first_name = MysqLi_real_escape_string($_POST['first_name']);
$last_name = MysqLi_real_escape_string($_POST['last_name']);
$email_address = MysqLi_real_escape_string($_POST['email_address']);
$username = MysqLi_real_escape_string($_POST['username']);
$password = $_POST['password'];
$passwordcheck = $_POST['passwordcheck'];

/* Let's strip some slashes in case the user entered
any escaped characters. */

$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);


/* Do some error checking on the form posted fields */

if((!$first_name) || (!$last_name) || (!$email_address) || (!$username) || (!$password) || (!$passwordcheck)){
    if(!$first_name){
        header('Location: register.PHP?signuperror=2');
    }
    if(!$last_name){
        header('Location: register.PHP?signuperror=3');
    }
    if(!$email_address){
        header('Location: register.PHP?signuperror=4');
    }
    if(!$username){
        header('Location: register.PHP?signuperror=5');
    }
    if ($password !== $passwordcheck){
        header('Location: register.PHP?signuperror=6');
    }

    include "register.PHP"; // Show the form again!
    /* End the error checking and if everything is ok, we'll move on to
     creating the user account */
    exit(); // if the error checking has Failed, we'll exit the script!
}

/* Let's do some checking and ensure that the user's email address or username
 does not exist in the database */

 $sql_email_check = MysqLi_query($conn, "SELECT email_address FROM users WHERE email_address='$email_address'");
 $sql_username_check = MysqLi_query($conn, "SELECT username FROM users WHERE username='$username'");

 $email_check = MysqLi_num_rows($sql_email_check);
 $username_check = MysqLi_num_rows($sql_username_check);

 if(($email_check > 0) || ($username_check > 0)){
    if($email_check > 0){
        header('Location: register.PHP?signuperror=7');
        unset($email_address);
    }
    if($username_check > 0){
        header('Location: register.PHP?signuperror=8');
        unset($username);
    }
    include 'register.PHP'; // Show the form again!
    exit();  // exit the script so that we do not create this account!
 }

/* Everything has passed both error checks that we have done.
It's time to create the account! */

$db_password = md5($password);

// Enter info into the Database.
$info2 = htmlspecialchars($info);
$sql = MysqLi_query($conn, "INSERT INTO users (email_address, username, first_name, last_name, password, reg_date, last_login, activated, admin)
        VALUES('$email_address', '$username', '$first_name', '$last_name', '$db_password', Now(), Now(), '0', '0')") or die (MysqLi_error());

if(!$sql){
    header('Location: register.PHP?signuperror=9');
} else {
    $userid = MysqLi_insert_id();
    // Let's mail the user!
    $subject = "FundFeeder Accounts";
    $message = "Dear $first_name $last_name,
    Thank you for registering at FundFeeder, http://www.fundFeeder.co.uk/

    You are one step away from logging in and accessing your account.

    To activate your membership, please click here: http://www.fundFeeder.co.uk/activate.PHP?id=$userid&code=$db_password

    Once you activate your memebership, you will be able to login with the information you provided.

    Thanks!
    FundFeeder Admin Team.

    This is an automated response, please do not reply!";

    mail($email_address, $subject, $message, "From: FundFeeder Accounts<admin@fundFeeder.co.uk>\nX-Mailer: PHP/" . PHPversion());
    ////// MAIL ADMIN
    $subject2 = "FundFeeder New User!";
    $message2 = "Dear Admin,
    This is a message to alert you that a new user has signed up to FundFeeder.

    You can view all details of the new member and all other members direct from the admin control panel at http://fundFeeder.co.uk/admin.PHP

    Here are the details of the new registered user:
    Username: $username
    Email Address: $email_address

    Thanks!
    FundFeeder Accounts.

    This is an automated response, please do not reply!";

    mail('aidan6141@hotmail.co.uk', $subject2, $message2, "From: FundFeeder Accounts<admin@fundFeeder.co.uk>\nX-Mailer: PHP/" . PHPversion());
    header('Location: signin.PHP?loginerror=6');
include 'signin.PHP';
}

?>

core / init.PHP(数据库连接)-

<?PHP
$conn = MysqLi_connect("MysqL.hostinger.co.uk","u479096627_admin","password", "u479096627_ctrl");
//Evaluate the connection
if (MysqLi_connect_errno()) {
    echo MysqLi_connect_error();
    exit();
}
?>

解决方法:

您需要查看core / init.PHP来查找建立MysqLi连接的位置.您应该会看到以下内容

$link = MysqLi_connect("myhost","myuser","mypassword","mydb");

如果该文件尚未更新为使用MysqLi,则可能如下所示:

$link = MysqL_connect('myhost', 'myuser', 'mypassword', 'mydb');

您所需要做的就是将MysqL_connect更改为MysqLi_connect,以使其使用MysqLi.

然后,您将像这样运行查询

$sql_email_check = MysqLi_query($link, "SELECT email_address FROM users WHERE email_address='$email_address'");

有关更多信息,请参考PHP手册(针对mysqli_connect
mysqli_query

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...