PHP-соединение и ошибка запроса: фатальная ошибка: вызов функции-члена query () для null в - PullRequest
1 голос
/ 11 марта 2019

Я получаю вышеуказанную ошибку в отношении моего утверждения ниже, пробовал несколько исправлений из других ответов в стеке, но продолжаю получать ту же ошибку: (

это часть php-кода пользователярегистрационную форму, хотел бы, чтобы их информация была вставлена ​​в таблицу

if($conn->query( "INSERT INTO users (FIRST_NAME, LAST_NAME, USERNAME, PASSWORD)
VALUES ('$fname', '$lname', '$uname', '$pword')")==TRUE){
 echo 'Inserted';
 }else{
 echo 'Not Inserted';
 }

У меня есть этот другой код в отдельном файле для $ conn

function dbConnect(){
 $servername = "x";
 $database = "activity2"; 
 $username  = "root"; 
 $password = "root";
// Create connection
 $conn = new 
mysqli($servername, $username, $password, $database); 
// Check connection 
if  ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); 
} //echo "Connection successful"; //make variable global to access in other 
functions global $conn; return $conn;} 

1 Ответ

1 голос
/ 11 марта 2019

Первое, что нужно сделать, это создать класс, который будет возвращать соединение:

<?php
//filename: dbConnect.php
class dbConnect
{
	
		public function connect() {
			 global $conn;
				
			 $servername = "localhost";
			 $username  = "root"; 
			 $password = "";
			 $database = "test";  
			// Create connection
			 $conn = new mysqli($servername, $username, $password, $database); 
			// Check connection 
			if  ($conn->connect_error) { 
				die("Connection failed: " . $conn->connect_error); 
			} //echo "Connection successful"; //make variable global to access in other 
			
			return $conn;			
		}
}

?>

Теперь вы можете выполнить команду sql в другом файле:

<?php
require 'dbConnect.php';

	$db = new dbConnect();
	$conn = $db->connect();

	$nome = "Anailton";
	$email = "jose@hotmail.com";
	if($conn->query( "INSERT INTO clientes (NOME, EMAIL) VALUES ('$nome', '$email')")==TRUE){
		echo 'Inserted';
	}else{
		echo 'Not Inserted';
	}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...