Php 无法访问数据库中的数据,mysqli函数不工作,但未显示错误

Php 无法访问数据库中的数据,mysqli函数不工作,但未显示错误,php,mysql,database,Php,Mysql,Database,-我想获得用户的Id,这样我可以在他的个人资料中显示欢迎消息,但我似乎无法返回Id。这可能是查询中的问题,但当我运行代码时,它只显示:“错误:”因此我似乎无法找到错误。 -我尝试了不同的查询轴,在phpmyadmin中用具体值测试它们时,它们也可以工作。 -“Emri”是我语言中的名字 我的数据库连接: $dbc=mysqli_connect('127.0.0.1','root','oms_db') 我在fuctions.php文件中的功能: ini_set ("display_errors",

-我想获得用户的Id,这样我可以在他的个人资料中显示欢迎消息,但我似乎无法返回Id。这可能是查询中的问题,但当我运行代码时,它只显示:“错误:”因此我似乎无法找到错误。 -我尝试了不同的查询轴,在phpmyadmin中用具体值测试它们时,它们也可以工作。 -“Emri”是我语言中的名字

我的数据库连接: $dbc=mysqli_connect('127.0.0.1','root','oms_db')

我在fuctions.php文件中的功能:

ini_set ("display_errors", "1");
error_reporting(E_ALL);
include('dbc.php');

function getId($dbc, $username)
{ 
    $query = "SELECT id FROM user WHERE username='.$username.'";
    $q = mysqli_query($dbc, $query);
   if($r = mysqli_fetch_assoc($q)){
            return $r[id];
        }
        else {
            echo "Error: ".mysqli_error($dbc);
        }
}
function getData($dbc, $id, $data) 
{   
    $q = "SELECT * FROM user WHERE id='.$id.'";
    $r = mysqli_query($dbc, $q);
    $array = mysqli_fetch_assoc($r);
    echo $array[$data];
} 
我如何称呼这些功能:

if(isset($_SESSION['username'])) {
        if(!isset($_GET['id'])){    
    $userId = getId($dbc, $_SESSION['username']);
        }
         echo "Welcome to profile, ".getData($dbc, $userId, 'emri');

我在stakoverflow上读过10篇或更多的帖子,但没有找到解决办法。我认为这是phpmyadmin的问题,或者查询在函数中不起作用

这里的问题在于

 WHERE username='.$username.'";
要么去掉这些点

 WHERE username='$username'";
或者加上双引号

 WHERE username='".$username."'";
因为我们在处理字符串

还应考虑使用准备好的语句:


在您的问题中使用适当的标记。肯定是“$username”问题,并确保您启动了session@Fred-ii-是的,我有会话_start();在index.php中,或者应该在每个文件中添加它?!当我删除引号时,查询是这样的:“SELECT id FROM user WHERE username=.$username”,它会给我一个警告:mysqli_fetch_assoc()希望参数1是mysqli_result只需删除点“$username”或添加双引号“.$username.”另外,如果在phpmyadmin中运行此代码,它将无法工作。它对变量本身不起作用,所以我不知道你为什么要谈论phpmyadmin