mysqli_query не работает в php

0

Я пытаюсь создать регистр, используя php и phpmyadmin. У меня есть почта, работающая и вставка данных в таблицу работает тоже. Что это за работа?

 $result = mysqli_query($conn, $sql);

Я попытался отладить его, используя следующий код, но ошибок не возникает. Это мой файл register.php.

require_once('config1.php');

if(!$conn):
die('Connect Error (' . mysqli_connect_errno() . ') '. 
mysqli_connect_error());
endif;

if(isset($_POST) && !empty($_POST)) {
    $username = $_POST['username'];
    $email = $_POST['email'];
    $password = $_POST['password'];

    $sql = "INSERT INTO 'zz_login' (username, email, password) VALUES ('$username', '$email', '$password')";
    $result = mysqli_query($conn, $sql);
    if($result) {
        echo "user registration successful";
    } else {
        mysqli_error($conn);
    }
}
;

Это мой файл конфигурации

error_reporting(E_ALL);
ini_set('display_errors', '1');

$conn = mysqli_connect("localhost", "username", "password", "database"); 
if (!$conn) {
die("could not connect" . mysqli_connect_error($conn));
}

Не уверенный, что не так, очень понравилась бы какая-то помощь. Заранее спасибо.

Теги:

2 ответа

2
Лучший ответ

похоже, что у вас есть sql-ошибка, и вы забыли команду echo перед mysqli_error, попробуйте это:

if($result) {
    echo "user registration successful";
} else {
   echo mysqli_error($conn);
}
  • 0
    Теперь он возвращает эту ошибку. Неверное целочисленное значение: «pass123» для столбца «пароль» в строке 1 pass123 был паролем, который я ввел при создании сведений о пользователе
  • 0
    если это произойдет, ваш talbe zz_login, особенно если строка «пароль» имеет неправильный тип, это должен быть тип строки, а не целое число, вы должны изменить таблицу.
Показать ещё 1 комментарий
0

Вы должны использовать pdo, лучше, следуйте коду:

// define config options, you can save this code into one file and require it

$config = [
	'username' => 'root',
	'password' => '',
	'database' => 'site'	
];

// make a connnection function for easily accessing it
function connect($config)
{
	try{
		$conn = new \PDO('mysql:host=localhost;dbname=' .$config['database'], $config['username'], $config['password']);

		$conn->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);

		return $conn;
	} 
	catch(Exception $e){
		return false;
	}

}// end connect()

// this is the query function, at bottom I'll show how to use
function query($query, $bindings, $conn)
{
	$stmt = $conn->prepare($query);
	$stmt->execute($bindings);

	return ($stmt->rowCount() > 0) ? $stmt : false ;
}


// Usage

// require
require 'databases.php';

// Connect to the db
$conn = connect($config);

if ( !$conn ) die("Could not connect.");

// define an array for status
$data = [];

if($_SERVER['REQUEST_METHOD'] === 'POST') {
    // get needed form
    $username = $_POST['username'];
    $email = $_POST['email'];
    $password = $_POST['password'];
    
    // here mysql queries, any of them, super easy and secured
    query(
      "INSERT INTO zz_login(username, email, password) 
       VALUES (:username, :email, :password"),[
        'username' => $username,
        'email' => $email,
        'password' => $password
       ],
       $conn);
    // status array
    $data['status'] = "user registration successful";
    } else {
       $data['status'] = 'Failure';
        
        if ($data) {
			    extract($data);
		    }
    }
}
  • 0
    Это связано с Laravel?
  • 0
    Да, это близко к Laravel
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню