경고 : mysqli_query ()는 매개 변수 1이 mysqli이고,
PHP경고 : mysqli_query ()는 매개 변수 1이 mysqli이고,
간단한 사용자 지정 CMS를 만들려고하는데 오류가 발생합니다.
이 오류가 발생하는 이유는 무엇입니까? 내 모든 코드는 이미 MySQLi이고 두 개 매개 변수를 사용하고 있습니다.
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");
//check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
function getPosts() {
$query = mysqli_query($con,"SELECT * FROM Blog");
while($row = mysqli_fetch_array($query))
{
echo "<div class=\"blogsnippet\">";
echo "<h4>" . $row['Title'] . "</h4>" . $row['SubHeading'];
echo "</div>";
}
}
해결법
-
==============================
1.의견에서 언급했듯이, 이것은 범위 지정 문제입니다. 특히, $ con은 getPosts 함수 내에서 범위 내에 있지 않습니다.
의견에서 언급했듯이, 이것은 범위 지정 문제입니다. 특히, $ con은 getPosts 함수 내에서 범위 내에 있지 않습니다.
종속성으로 연결 객체를 전달해야합니다.
function getPosts(mysqli $con) { // etc
또한 연결이 끊어지면 실행을 중지하는 것이 좋습니다. 이 같은 것이 충분해야합니다.
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); if (mysqli_connect_errno()) { throw new Exception(mysqli_connect_error(), mysqli_connect_errno()); } getPosts($con);
-
==============================
2.$ con에 전역 범위를 사용하고 getPosts () 함수 안에 넣는다. 그렇게.
$ con에 전역 범위를 사용하고 getPosts () 함수 안에 넣는다. 그렇게.
function getPosts() { global $con; $query = mysqli_query($con,"SELECT * FROM Blog"); while($row = mysqli_fetch_array($query)) { echo "<div class=\"blogsnippet\">"; echo "<h4>" . $row['Title'] . "</h4>" . $row['SubHeading']; echo "</div>"; } }
-
==============================
3.getPosts () 함수는 $ con가 전역 변수가 될 것으로 기대하고있는 것처럼 보이지만, 그렇게 선언하지는 않습니다.
getPosts () 함수는 $ con가 전역 변수가 될 것으로 기대하고있는 것처럼 보이지만, 그렇게 선언하지는 않습니다.
많은 프로그래머들은 대머리 글로벌 변수를 "코드 냄새"라고 생각합니다. 규모의 다른 끝에서 대안은 항상 연결 리소스를 전달하는 것입니다. 두 부분 사이의 부분은 항상 동일한 리소스 핸들을 반환하는 단일 호출입니다.
from https://stackoverflow.com/questions/18862743/warning-mysqli-query-expects-parameter-1-to-be-mysqli-null-given-in by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
쿼리 문자열 내에서 배열을 전달하는 방법? (0) | 2018.09.07 |
---|---|
PHP에서 클로저는 무엇이며 "사용"식별자를 사용하는 이유는 무엇입니까? (0) | 2018.09.07 |
세션 변수가 작동하지 않는 PHP (0) | 2018.09.07 |
cURL을 사용하여 리디렉션되는 위치를 찾으려면 어떻게합니까? (0) | 2018.09.07 |
PHP를 사용하여 MySQL 데이터베이스에서 이미지를 저장하고 검색하려면 어떻게해야합니까? (0) | 2018.09.07 |