본문 바로가기
MySql

MySQL 오류 : mysqli_fetch_array ()는 매개 변수 1이 mysqli_result 일 것으로 예상하고 부울이 주어집니다.

by 베이스 공부 2020. 12. 11.
반응형

로그인 에서이 오류가 발생하면 새 버전의 xampp / php를 설치했지만 여전히 mysqli에 많은 문제가 있습니다.

아래는 lock.php로 이동 한 후 login.php에 대한 코드입니다.

<?php

include("config.php");
session_start();

if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from form 

$myusername=addslashes($_POST['username']); 
$mypassword=addslashes($_POST['password']); 


$sql="SELECT id FROM mc_admin WHERE username='$myusername' and passcode='$mypassword'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];

$count=mysql_num_rows($result);


// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
session_register("myusername");
$_SESSION['login_user']=$myusername;

header("location: home.php");
}
else 
{
$error="Your Login Name or Password is invalid";
}
}
?>

아래의 lock.php 코드 :

<?php
include('config.php');
session_start();
$user_check=$_SESSION['login_user'];

$ses_sql=mysql_query("select username from mc_admin where username='$user_check' ");

$row=mysql_fetch_array($ses_sql);

$login_session=$row['username'];

if(!isset($login_session))
{
header("Location: login.php");
}
?>

 

해결 방법

 

MYSQL 쿼리는 오류가 발생하면 FALSE를 반환하므로 실행하는 동안 쿼리 중 하나에 오류가 있습니다.

PHP 문서에 따라 mysql_query ()는 성공시 리소스를 반환하거나 오류시 FALSE 를 반환합니다. 따라서 mysql_fetch_array 를 호출하기 전에 아래와 같이 확인합니다.

오류를 인쇄 할 수 있습니다.

$result = mysql_query('your query');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}


 

참조 페이지 https://stackoverflow.com/questions/21463026

 

 

반응형

댓글