Php 在某些用户定义函数中执行mysqli_查询后出错

Php 在某些用户定义函数中执行mysqli_查询后出错,php,mysqli,Php,Mysqli,带有一个方法getField的getUserName.php文件的内容: <?php function getfield($field) { if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])) { $query="SELECT `$field` FROM `user` WHERE `id`='".$_SESSION['user_id']."'"; if($query_run=

带有一个方法getField的getUserName.php文件的内容:

<?php
function getfield($field)
{
if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']))
    {
    $query="SELECT `$field` FROM `user` WHERE `id`='".$_SESSION['user_id']."'";
    if($query_run=mysqli_query($conn,$query))
    {
      if($query_result=mysqli_fetch_field($query_run))
       {
        return $query_result;
       }
     } else {
        printf("error: %s\n", mysqli_error($conn));
        }       
}  
?>

$conn
未在
getfield($field)
的本地范围中定义。您需要将其作为参数发送:

$fname=getfield($conn, 'Fname');
$lname=getfield($conn, 'Lname');

function getfield($conn, $field) {
    ...

变量
$conn
getfield
函数的作用域中不可用

在函数中声明为全局应该可以做到以下几点:

<?php
function getfield($field)
{
    global $conn;

    if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']))
    {
        $query="SELECT `$field` FROM `user` WHERE `id`='".$_SESSION['user_id']."'";
        if($query_run=mysqli_query($conn,$query))
        {
            if($query_result=mysqli_fetch_field($query_run))
            {
                return $query_result;
            }
        }
        else
        {
            printf("error: %s\n", mysqli_error($conn));
        }       
    }  
}
?>

确保
$conn
不为空。Noep!不工作。。。我收到了另一个错误,如:“可捕获致命错误:mysqli类的对象无法在第7行的/home/confessi/public_html/college/profile/function.php中转换为字符串”第7行=函数中的$query行。php@style是的,对不起。我编辑。
<?php
function getfield($field)
{
    global $conn;

    if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']))
    {
        $query="SELECT `$field` FROM `user` WHERE `id`='".$_SESSION['user_id']."'";
        if($query_run=mysqli_query($conn,$query))
        {
            if($query_result=mysqli_fetch_field($query_run))
            {
                return $query_result;
            }
        }
        else
        {
            printf("error: %s\n", mysqli_error($conn));
        }       
    }  
}
?>