Home >Backend Development >PHP Tutorial >javascript - 为什么我的php和MySQL没有链接成功?

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

WBOY
WBOYOriginal
2016-06-06 20:13:581231browse

今天通过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把升级版哈哈

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn