如何在自定义php函数中使用mysqli_fetch_assoc


How to use mysqli_fetch_assoc in custom php function?

我是php函数的新手,是否可以在php函数中使用mysqli_fetch_assoc?

这就是我要做的。

函数.php

<?php
        function getinfoid($conn,$idapplicant){
        $sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
        $result = mysqli_query($conn,$sql);
        while ($row = mysqli_fetch_assoc($result)) {
        $prefix=$row['prefix'];
        $fname1=$row['fname'];
        $mname1=$row['mname'];
        $lname1=$row['lname'];
        $gender=$row['gender'];
        $addr=$row['addr'];
        }
    }
?>

view.php

    <?php 
    require('connection.php'); 
    include ('function.php');
    getinfoid($conn,'2');
    ?>
I'm <?php echo $fname1 ?>

怎么可能回显$fname1?

您的函数不返回任何内容,那些分配的变量留在函数的范围内。如果总是只有一行要提取,你可以这样做:

function getinfoid($conn,$idapplicant){
    $sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
    $result = mysqli_query($conn,$sql);
    return mysqli_fetch_assoc($result);
}

然后你可以调用这个函数并回显你的变量:

$row = getinfoid($conn,'2');
?>
I'm <?php echo $row['fname'] ?>

假设您只需要打印$fname1,下面是我提出的解决方案:

您需要从函数中返回$fname1

<?php
function getinfoid($conn,$idapplicant){
    $sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
    $result = mysqli_query($conn,$sql);
    $row = mysqli_fetch_assoc($result);
    return $row['fname'];
} 
require('connection.php'); 
include ('function.php');
$fname1 = getinfoid($conn,'2');
?>
I'm <?php echo $fname1 ?>

或者,您可以从函数返回整行,如下所示:

function getinfoid($conn,$idapplicant){
    $sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
    $result = mysqli_query($conn,$sql);
    return mysqli_fetch_assoc($result);
}
require('connection.php'); 
include ('function.php');
$useDetails = getinfoid($conn,'2');
?>
I'm <?php echo $useDetails['fname'] ?>

您可以将变量$fname1声明为全局变量并访问该变量。假设只返回一条记录。

函数.php

<?php
        $fname1 = "";
        function getinfoid($conn,$idapplicant){
        global $fname1;
        $sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
        $result = mysqli_query($conn,$sql);
        while ($row = mysqli_fetch_assoc($result)) {
        $prefix=$row['prefix'];
        $fname1=$row['fname'];
        $mname1=$row['mname'];
        $lname1=$row['lname'];
        $gender=$row['gender'];
        $addr=$row['addr'];
        }
    }
?>

view.php

<?php 
require('connection.php'); 
include ('function.php');
getinfoid($conn,'2');
?>
I'm <?php echo $fname1 ?>
<?php
        function getinfoid($conn,$idapplicant){
        $sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
        $result = mysqli_query($conn,$sql);
        $row = mysqli_fetch_assoc($result); 
        return $row
    }
?>
 <?php 
    require('connection.php'); 
    include ('function.php');
    $data = getinfoid($conn,'2');
    ?>
I'm <?php echo $data['firstname'] ?>