Я создал этот простой PHP код для страницы входа Ошибка подключения к MySQL в XAMPP
<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";
}
}
?>
Всякий раз, когда я запускаю этот скрипт и попытаться вставить значения в таблицы, это занимает много времени, и бросает следующая ошибка/предупреждение. Я не изменил имя пользователя и пароль, и я считаю, что по умолчанию он является пустым и пустым.
Предупреждение: mysqli_connect(): MySQL сервер ушел в C: \ XAMPP \ HTDOCS \ home.php на линии 39
Предупреждение: mysqli_connect(): Ошибка при чтении приветствия пакета , PID = 4708 в C: \ XAMPP \ HTDOCS \ home.php на линии 39
Предупреждение: mysqli_connect(): (HY000/2006): MySQL сервер ушел в C: \ XAMPP \ HTDOCS \ дом. PHP на линии 39
Фатальная ошибка: Максимальное время выполнения 30 секунд превышен в C: \ XAMPP \ HTDOCS \ home.php на линии 39
Может кто-нибудь помочь мне с этим, как я считаю, что проблема заключается в некоторой конфигурации порта.
Спасибо и приветствую.
Это выглядит ужасно неуверенно. Вы уверены, что ** ваши пользовательские параметры [правильно экранированы] (http://bobby-tables.com/php)? При использовании 'mysqli' вы должны использовать параметризованные запросы и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ используйте ** интерполирование строк, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/). – tadman
Вместо того, чтобы писать свою собственную систему входа в систему, вероятно, вы должны использовать [рамки разработки] (http://codegeekz.com/best-php-frameworks-for-developers/), например [Laravel] (http: // laravel ,com /), который поставляется с встроенной системой [authentication system] (http://laravel.com/docs/security). То, что вы придумали здесь, не подходит для использования в производстве. – tadman