"경고: mysqli_query()는 매개변수 1이 MySQLi일 것으로 예상하며, null이 제공됩니다." 오류
사용자 정의를 생성하려는 시도에서 CMS에서 다음 오류 메시지가 표시되었습니다.
"경고: mysqli_query()에서는 매개변수 1이 다음과 같을 것으로 예상합니다. MySQLi, null은 "
오류 원인
이 오류는 SQL 쿼리를 실행하는 mysqli_query() 함수가 첫 번째로 MySQLi 객체를 예상함을 나타냅니다. 매개변수. 그러나 getPosts() 함수에서는 MySQLi 객체 대신 null 값을 전달하고 있습니다.
해결책
이 문제에 대한 해결책은 다음을 확인하는 것입니다. $con MySQLi 객체는 getPosts() 함수의 범위 내에 있습니다. 코드에서 $con은 전역 범위에 정의되어 있지만 함수 내에서는 액세스할 수 없습니다.
MySQLi 객체를 종속성으로 전달
이는 MySQLi 객체를 getPosts() 함수에 종속성으로 전달하는 것입니다. 이를 수행하는 방법은 다음과 같습니다.
function getPosts(mysqli $con) { // etc }
MySQLi 객체를 함수의 매개변수로 만들면 해당 객체가 함수 범위 내에서 사용 가능하고 mysqli_query()에서 사용할 수 있음을 보장할 수 있습니다.
추가 권장사항
범위 지정 문제를 해결하는 것 외에도 다음 구현을 고려하세요. 권장 사항:
다음은 이를 구현하는 방법에 대한 예입니다. 권장 사항:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); if (!$con) { throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error()); } getPosts($con);
이러한 권장 사항을 구현하면 맞춤 CMS의 견고성과 신뢰성을 보장할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3