在XAMPP中连接到MySQL时出错

时间:2014-08-31 06:25:18

标签: php mysql apache xampp

我为登录页面创建了这个简单的PHP代码     

<head>
    <title>Login Page</title>
</head>
<body>
        <form method=POST>
            <table>
                <tr><th>UserName</th>
                    <td><input type=text name=user></input></td></tr>
                <tr><th>Password</th>
                    <td><input type=password name=pass></input></td></tr>
                <tr><th>Phone Number</th>
                    <td><input type=text name=phone></input></td></tr>
                <tr><th>Email</th>
                    <td><input type=text name=email></input></td></tr>
                <tr><th>City</th>
                    <td><input type=text name=city></input></td></tr>
                <tr><td><input type=submit name=submit value=Submit></input></td></tr>
            </table>
        </form>

</body>
</html>
<?php
    if(isset($_POST['submit']) && !empty($_POST['user']))
        {
            if(preg_match("/^[a-zA-Z ]{3,40}$/",$_POST['user']))
                {
                    if(preg_match("/^[a-zA-Z0-9]{8,20}$/",$_POST['pass']))
                        {
                            if(filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
                                {
                                    if(preg_match("/[0-9]{10}/",$_POST['phone']))
                                        {
                                            $username=$_POST['user'];
                                            $password=$_POST['pass'];
                                            $Email=$_POST['email'];
                                            $phoneNumber=$_POST['phone'];
                                            $con=mysqli_connect("localhost:8080","root","","user");
                                            mysqli_query($con,"insert into user values('$username','$Email','$phoneNumber','$city')");

                                        }
                                    else
                                        {
                                            echo "Invalid Phone number";
                                        }
                                }
                            else
                                {
                                        echo "Invalid Email";
                                }
                        }
                        else
                            {
                                echo "Invalid Phone number";
                            }
                }

                else
                    {
                        echo "Invalid user";
                    }

        }

?>

每当我运行此脚本并尝试将值插入表中时,都会花费大量时间并抛出以下错误/警告。我没有更改用户名和密码,我相信默认情况下它是root和空白。

  

警告:mysqli_connect():MySQL服务器在第39行的C:\ xampp \ htdocs \ home.php消失了

     

警告:mysqli_connect():读取问候数据包时出错。第39行的C:\ xampp \ htdocs \ home.php中的PID = 4708

     

警告:mysqli_connect():( HY000 / 2006):MySQL服务器在第39行的C:\ xampp \ htdocs \ home.php消失了

     

致命错误:第39行的C:\ xampp \ htdocs \ home.php超出了30秒的最长执行时间

有人可以帮助我,因为我相信问题在于一些端口配置。

谢谢和问候。

4 个答案:

答案 0 :(得分:1)

默认情况下,使用XAMPP连接到DB不需要您指定端口。将localhost:8080替换为localhost

答案 1 :(得分:0)

如果您确定代码正确,则可以增加最长执行时间。 这次是在php.ini配置文件

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

答案 2 :(得分:0)

以下是编辑过的脚本。 尝试运行它。还要确保mysql正常工作。              登录页面                                                             用户名                                              密码                                              电话号码                                              电子邮件                                              市                                                                            

</body>
</html>
<?php 
    set_time_limit (0);
    if(isset($_POST['submit']) && !empty($_POST['user']))
        {
            if(preg_match("/^[a-zA-Z ]{3,40}$/",$_POST['user']))
                {
                    if(preg_match("/^[a-zA-Z0-9]{8,20}$/",$_POST['pass']))
                        {
                            if(filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
                                {
                                    if(preg_match("/[0-9]{10}/",$_POST['phone']))
                                        {
                                            $username=$_POST['user'];
                                            $password=$_POST['pass'];
                                            $Email=$_POST['email'];
                                            $phoneNumber=$_POST['phone'];
                                            $con=mysqli_connect("localhost:8080","root","","user");
                                            mysqli_query($con,"insert into user values('$username','$Email','$phoneNumber','$city')");

                                        }
                                    else
                                        {
                                            echo "Invalid Phone number";
                                        }
                                }
                            else
                                {
                                        echo "Invalid Email";
                                }
                        }
                        else
                            {
                                echo "Invalid Phone number";
                            }
                }

                else
                    {
                        echo "Invalid user";
                    }

        }

?>

答案 3 :(得分:-1)

您不必指定端口号8080以及localhost。只需使用localhost