ホームページ >バックエンド開発 >PHPチュートリアル >javascript - 为什么我的php和MySQL没有链接成功?

javascript - 为什么我的php和MySQL没有链接成功?

WBOY
WBOYオリジナル
2016-06-06 20:13:581229ブラウズ

今天通过php做一个注册系统,但是现在php不能链接到数据库,求解是为什么

这个是注册页面的HTML代码

<code> <form action="regcheck.php" method="post">  
    用户名:<input type="text" name="username">  
    <br>  
    密 码:<input type="password" name="password">  
    <br>  
    确认密码:<input type="password" name="confirm">  
    <br>  
    <input type="Submit" name="Submit" value="注册">  
</form>
</code>

这个是链接数据库,检测,insert的php文件

<code>if(isset($_POST["Submit"]) && $_POST["Submit"] == "注册")  
{  
    $user = $_POST["username"];  
    $psw = $_POST["password"];  
    $psw_confirm = $_POST["confirm"];  
    if($user == "" || $psw == "" || $psw_confirm == "")  
    {  
        echo "<script>alert('请确认信息完整性!'); history.go(-1);</script>";  
    }  
    else  
    {  
        if($psw == $psw_confirm)  
        {  
            mysql_connect("localhost","root","qwepoi");   //连接数据库  
            mysql_select_db("FootballManager");  //选择数据库  
            mysql_query("set names 'gdk'"); //设定字符集  
            $sql = "select username from users where username = '$_POST[username]'"; //SQL语句  
            $result = mysql_query($sql);    //执行SQL语句  
            $num = mysql_num_rows($result); //统计执行结果影响的行数  
            if($num)    //如果已经存在该用户  
            {  
                echo "<script>alert('用户名已存在'); history.go(-1);</script>";  
            }  
            else    //不存在当前注册用户名称  
            {  
                $sql_insert = "insert into users (username,password,phone,address) values('$_POST[username]','$_POST[password]','','')";  
                $res_insert = mysql_query($sql_insert);  
                //$num_insert = mysql_num_rows($res_insert);  
                if($res_insert)  
                {  
                    echo "<script>alert('注册成功!'); history.go(-1);</script>";  
                }  
                else  
                {  
                    echo "<script>alert('系统繁忙,请稍候!'); history.go(-1);</script>";  
                }  
            }  
        }  
        else  
        {  
            echo "<script>alert('密码不一致!'); history.go(-1);</script>";  
        }  
    }  
}  
else  
{  
    echo "<script>alert('提交未成功!'); history.go(-1);</script>";  
}  </code>

?>

数据库密码,名字,table的名字均是正确的,但是始终无法链接至书库,是哪一步出现问题了嘛?

回复内容:

今天通过php做一个注册系统,但是现在php不能链接到数据库,求解是为什么

这个是注册页面的HTML代码

<code> <form action="regcheck.php" method="post">  
    用户名:<input type="text" name="username">  
    <br>  
    密 码:<input type="password" name="password">  
    <br>  
    确认密码:<input type="password" name="confirm">  
    <br>  
    <input type="Submit" name="Submit" value="注册">  
</form>
</code>

这个是链接数据库,检测,insert的php文件

<code>if(isset($_POST["Submit"]) && $_POST["Submit"] == "注册")  
{  
    $user = $_POST["username"];  
    $psw = $_POST["password"];  
    $psw_confirm = $_POST["confirm"];  
    if($user == "" || $psw == "" || $psw_confirm == "")  
    {  
        echo "<script>alert('请确认信息完整性!'); history.go(-1);</script>";  
    }  
    else  
    {  
        if($psw == $psw_confirm)  
        {  
            mysql_connect("localhost","root","qwepoi");   //连接数据库  
            mysql_select_db("FootballManager");  //选择数据库  
            mysql_query("set names 'gdk'"); //设定字符集  
            $sql = "select username from users where username = '$_POST[username]'"; //SQL语句  
            $result = mysql_query($sql);    //执行SQL语句  
            $num = mysql_num_rows($result); //统计执行结果影响的行数  
            if($num)    //如果已经存在该用户  
            {  
                echo "<script>alert('用户名已存在'); history.go(-1);</script>";  
            }  
            else    //不存在当前注册用户名称  
            {  
                $sql_insert = "insert into users (username,password,phone,address) values('$_POST[username]','$_POST[password]','','')";  
                $res_insert = mysql_query($sql_insert);  
                //$num_insert = mysql_num_rows($res_insert);  
                if($res_insert)  
                {  
                    echo "<script>alert('注册成功!'); history.go(-1);</script>";  
                }  
                else  
                {  
                    echo "<script>alert('系统繁忙,请稍候!'); history.go(-1);</script>";  
                }  
            }  
        }  
        else  
        {  
            echo "<script>alert('密码不一致!'); history.go(-1);</script>";  
        }  
    }  
}  
else  
{  
    echo "<script>alert('提交未成功!'); history.go(-1);</script>";  
}  </code>

?>

数据库密码,名字,table的名字均是正确的,但是始终无法链接至书库,是哪一步出现问题了嘛?

你的mysql操作有点小问题

<code>...省略
//你需要保存$conn这个连接句柄,以备后用
$conn = mysql_connect("localhost","root","qwepoi");   //连接数据库  
mysql_select_db("FootballManager");  //选择数据库  
mysql_query("set names 'gdk'"); //设定字符集  
$sql = "select username from users where username = '$_POST[username]'"; //SQL语句 
//在使用mysql_query()类的函数时,第二个参数要加上刚刚那个连接句柄
$result = mysql_query($sql, $conn);    //执行SQL语句  
...省略</code>

额外附加
1.如果你这个连报错都看不到的话,最好在php.ini中开启php的错误日志,并设置错误级别,这在以后开发遇到错误时能够很快的解决问题

<code>display_errors = On
display_startup_errors = On
error_reporting = -1
log_errors = On</code>

2.如果你使用的是php7的话,那mysql扩展已经被移除了,如果是php7之前的版本还可以用。

<code>mysql_connect</code>

的值打印出来
错误报告也打开

如果在linux下,把localhost换成127.0.0.1吧。

试试将mysql端口写到mysql_connect参数中

使用mysqli把升级版哈哈

先在命令行下看看能不能连接吧

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。