반응형
아래는 db.php 아래의 코드입니다.
<?php
$con = mysqli_connect('localhost', 'root', '', 'mydb');
/* check connection */
if (!$con) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
?>
index.php에서 db.php 및 functions.php를 다음과 같이 포함합니다.
include("includes/db.php");
include("includes/functions.php");
functions.php는 또한 db.php 연결을 사용합니다. mysql을 사용할 때 전에 문제가 없습니다. 하지만 mysql을 mysqli로 변경 한 후 "Warning : mysqli_query ()는 parameter 1이 mysqli가 될 것으로 예상하고 null이 주어졌습니다."라는 오류가 functions.php에 표시됩니다.
다음은 오류가있는 functions.php의 함수입니다.
function get_type($r_id){
$result=mysqli_query($con, "select type from rooms where id=$r_id") or die("select type from rooms where id=$r_id"."<br/><br/>".mysqli_error());
$row=mysqli_fetch_assoc($result);
return $row['type'];
}
내 솔루션은 다음과 같이 mysqli를 호출하는 functions.php의 모든 함수에 db.php를 추가하는 것입니다.
function get_type($r_id){
include("includes/db.php");
$result=mysqli_query($con, "select type from rooms where id=$r_id") or die("select type from rooms where id=$r_id"."<br/><br/>".mysqli_error());
$row=mysqli_fetch_assoc($result);
return $row['type'];
}
이것이 올바른 해결책인지 궁금합니다.
해결 방법
문제는 $ con을 함수에 사용할 수 없다는 것입니다.
각 함수에 다른 인수를 추가 할 수 있습니다.
function get_type($con, $r_id)...
그런 다음 $ con을 전달하십시오.
include('includes/db.php');
include('includes/functions.php');
$blah = get_type($con, 5);
또는
예를 들어이 global $ con;
을 추가하여 각 함수에서 $ con에 액세스 할 수 있도록 할 수 있습니다.
function get_type($r_id){
global $con;
$result=mysqli_query($con, "select type from rooms where id=$r_id") or die("select type from rooms where id=$r_id"."<br/><br/>".mysqli_error());
$row=mysqli_fetch_assoc($result);
return $row['type'];
}
내 친구 .. 당신의 선택
(이 고양이의 피부를 벗기는 다른 방법이있을 수 있습니다)
참조 페이지 https://stackoverflow.com/questions/11492285
반응형
'MySql' 카테고리의 다른 글
MySQL 및 PHP 용 CRUD (0) | 2021.02.05 |
---|---|
MySQL 이 SQL 쿼리에서 점은 무엇을 의미합니까? (0) | 2021.02.05 |
MySQL MYSQL-주문 타임 스탬프 값이 최신에서 가장 오래된 순서로 오름차순? (0) | 2021.02.05 |
MySQL SQL SELECT 쿼리에서 간단한 수학을 수행하는 방법은 무엇입니까? (0) | 2021.02.05 |
MySQL 테이블에서 중복 값을 제거하는 방법 (0) | 2021.02.05 |
댓글