来自注册表的信息不会提交到phpmyadmin的表格中

时间:2014-07-29 02:52:26

标签: php mysql

我不知道为什么它不能连接我没有想法。当我尝试连接时,它也告诉我它已成功连接到mysql,这很奇怪请帮助。

它一直在惹恼我的废话,我真的需要它尽快开始工作,因为它让我疯狂。

<?

if(!empty($_POST['username']) && !empty($_POST['password']))
{
    $username = mysql_real_escape_string($_POST['username']);
    $password = md5(mysql_real_escape_string($_POST['password']));
    $email = mysql_real_escape_string($_POST['email']);

    $checkusername = mysql_query("SELECT * FROM users WHERE Username = '".$username."'");

    if(mysql_num_rows($checkusername) == 1)
    {
        echo "<h1>Error</h1>";
        echo "<p>Sorry, that username is taken. Please go back and try again.</p>";
        $checkemail = mysql_query("SELECT * FROM users WHERE email = '".$email."'");

        if(mysql_num_rows($checkemail) == 1)
        {
           echo "<h1>Error</h1>";
           echo "<p>Sorry, that email is taken. Please go back and try again.</p>";
        }
        }
        else
        {
           $registerquery = mysql_query("INSERT INTO users (Username, Password, EmailAddress) VALUES('".$username."', '".$password."', '".$email."')");
           if($registerquery)
           {
               echo "<h1>Success</h1>";
               echo "<p>Your account was successfully created. Please <a href=\"login.php\">click here to login</a>.</p>";
           }
           else
           {
               echo "<h1>Error</h1>";
               echo "<p>Sorry, your registration failed. Please go back and try again.</p>";    
           }       
       }
    }
    else
    {
?>

<h1>Register</h1>

<p>Please enter your details below to register.</p>

    <form method="post" action="register.php" name="registerform" id="registerform">
    <fieldset>
        <label for="username">Username:</label><input type="text" name="username"     id="username" /><br />
        <label for="password">Password:</label><input type="password" name="password"     id="password" /><br />
        <label for="email">Email Address:</label><input type="text" name="email" id="email"    /><br />
        <input type="submit" name="register" id="register" value="Register" />
    </fieldset>
    </form>

    <?php
    }
    ?>

Mysql Connected Successfully

Warning: mysql_real_escape_string(): Access denied for user 'UNKNOWN_USER'@'localhost' (using password: NO) in /home/parap00per/public_html/register.php on line 28
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/parap00per/public_html/register.php on line 28
Warning: mysql_real_escape_string(): Access denied for user 'UNKNOWN_USER'@'localhost' (using password: NO) in /home/parap00per/public_html/register.php on line 29
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/parap00per/public_html/register.php on line 29
Warning: mysql_real_escape_string(): Access denied for user 'UNKNOWN_USER'@'localhost' (using password: NO) in /home/parap00per/public_html/register.php on line 30
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/parap00per/public_html/register.php on line 30
Warning: mysql_query(): Access denied for user 'UNKNOWN_USER'@'localhost' (using password: NO) in /home/parap00per/public_html/register.php on line 32
Warning: mysql_query(): A link to the server could not be established in /home/parap00per/public_html/register.php on line 32
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/parap00per/public_html/register.php on line 34
Warning: mysql_query(): Access denied for user 'UNKNOWN_USER'@'localhost' (using password: NO) in /home/parap00per/public_html/register.php on line 48
Warning: mysql_query(): A link to the server could not be established in /home/parap00per/public_html/register.php on line 48
Error

Sorry, your registration failed. Please go back and try again.

1 个答案:

答案 0 :(得分:2)

您没有选择mysql_select_db()的数据库 (根据您编辑的原始发布代码)。

xxx替换为您自己的信息。

$host="localhost"; // Host name.
$db_user="xxx"; // MySQL username.
$db_password="xxx"; // MySQL password.
$database="xxx"; // Database name.

$link = mysql_connect($host,$db_user,$db_password);
if (!$link) {
    die('Not connected : ' . mysql_error());
}

$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
    die ('Can\'t use the DB : ' . mysql_error());
}

您还要在完成查询后使用mysql_close($link);过早关闭连接,或者根本不使用它。一旦完成执行,您的连接将会关闭。

修改

我注意到您使用EmailAddressemail作为列名。其中一个或其他可能不正确。


将错误报告添加到文件顶部,这将有助于生产测试。

error_reporting(E_ALL);
ini_set('display_errors', 1);

另外,使用mysqli_* with prepared statementsPDOprepared statements


<强>脚注:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqliPDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。

这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/

可以在»http://dev.mysql.com/doc/找到MySQL的文档。