mysql — получение белого экрана после выполнения php-кода

Привет, я работаю над простой регистрацией PHP. Но каждый раз, когда я отправляю страницу регистрации, я получаю пустой экран, без ошибок, без отображения.

Код в моем PHP-файле:

<?php

if($_SERVER['REQUEST_METHOD']=="POST"){
$IP = //my hostname
$dbuser = "my user id";

$conn = new mysqli_connect($IP, $dbuser, "","my databse name");
if(! $conn )
{
die('Could not connect: ' . mysqli_error());
}

$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$address = $_POST['address'];$query = "SELECT email FROM user where email='".$email."'";
$result = mysqli_query($conn,$query);
$numResults = mysqli_num_rows($result);

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) // Validate email address
{
$message =  "Invalid email address please type a valid email!!";
}elseif($numResults>=1)
{
$message = $email." Email already exist!!";
}else
{
mysqli_query("(insert into user(name,phone_number, email,pass1, pass2, address) values
('".$name."','".$phone."', '".$email."', '".$pass1."','".$pass2."','".$address."')");echo $message = "Signup Sucessfully!!";
}mysqli_close($conn);

}

print_r(error_get_last());

?>

нет никаких проблем в установлении соединения, так как я использую этот метод соединения на других страницах, и они работают нормально. Также я должен указать, что в настоящее время я работаю в облаке 9, а моя база данных mysql находится в самом облаке 9.

пожалуйста, помогите мне понять проблему.

-1

Решение

Вы говорите, что ваша строка 42 имеет запрос вставки. Я полагаю, вы имеете в виду этот запрос:

mysqli_query("(insert into user(name,phone_number, email,pass1, pass2, address) values
('".$name."','".$phone."', '".$email."', '".$pass1."','".$pass2."','".$address."')");

Поскольку ваша ошибка говорит: «Ожидается 2 параметра», вам не хватает здесь вашего параметра подключения. Вы должны иметь это:

mysqli_query($conn, "(insert into user(name,phone_number, email,pass1, pass2, address) values
('".$name."','".$phone."', '".$email."', '".$pass1."','".$pass2."','".$address."')");
1

Другие решения

Поместите это в первую строку вашего скрипта

ini_set('display_errors', '1');

Это отобразит ошибки на странице, и вы сможете увидеть, что происходит не так.

Также вместо IP-адреса попробуйте «localhost»

$conn = new mysqli_connect("localhost", $dbuser, "","my databse name");

Если база данных находится на том же компьютере, это может решить вашу проблему.

0

Также ваш код невероятно небезопасен и будут страдать от внедрения SQL. Пожалуйста, обратите внимание на следующие строки:

$email = $_POST['email'];

$query = "SELECT email FROM user where email='".$email."'";

По сути, вы помещаете все, что пользователь передает в ваш оператор SQL. Что делать, если он вводит «‘ИЛИ 1; DROP TABLE user». Вы потеряете все свои данные.

Пожалуйста, прочитайте о внедрении SQL и используйте PDO:

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector