Member 13423843 Ответов: 1

Ошибка: mysqli_query () ожидает, что параметр 1 будет mysqli, ресурс задан


Привет, я получаю сообщение об ошибке на своей странице входа.
mysqli_query () ожидает, что параметр 1 будет mysqli, заданным ресурсом.

Кто-нибудь может дать мне решение.

Что я уже пробовал:

<?php
	session_start();
 
	require_once('connectivity-sign-up.php');
 
	$errmsg_arr = array();

	$errflag = false;
 
	function clean($str) {
		echo "str: ".$str;
		$str = @trim($str);
		if(get_magic_quotes_gpc()) {
			$str = stripslashes($str);
		}
		return mysqli_real_escape_string($str);
	}
 
	$user = $_POST['user'];
	$pass = $_POST['pass'];
 
	//Input Validations
	if($user == '') {
		$errmsg_arr[] = 'Username missing';
		$errflag = true;
	}
	if($pass == '') {
		$errmsg_arr[] = 'Password missing';
		$errflag = true;
	}
 
	if($errflag) {
		$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
		session_write_close();
		header("location: login.php");
		exit();
	}
 
	$qry="SELECT * FROM websiteusers WHERE user='$user' AND pass='$pass'";
	$result=mysqli_query($con, $qry);
 
	if($result) {
		if(mysqli_num_rows($result) > 0) {
			//Login Successful
			session_regenerate_id();
			$member = mysqli_fetch_assoc($result);
			$_SESSION['SESS_MEMBER_ID'] = $member['mem_id'];
			$_SESSION['SESS_FIRST_NAME'] = $member['user'];
			$_SESSION['SESS_LAST_NAME'] = $member['pass'];
			session_write_close();
			header("location: page.php");
			exit();
		}else {
			$errmsg_arr[] = 'user name and password not found';
			$errflag = true;
			if($errflag) {
				$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
				session_write_close();
				header("location: sign-up.php");
				exit();
			}
		}
	}else {
		die("Query failed");
	}
?>

1 Ответов

Рейтинг:
0

Jochen Arndt

Вы не показали, где (и, следовательно, как) $con определяемый.

Потому что вы используете процедурный стиль (mysqli_query), $con должна быть ссылка, возвращенная mysqli_connect() или mysqli_init() любить:

$con = mysqli_connect("my_host", "my_user", "my_password", "my_db");

Ошибка возникает, если вы использовали (устаревший) mysql_connect метод (обратите внимание на отсутствие 'я'), который возвращает ресурс.