表名称为变量时,mysqli_fetch_all()不起作用

时间:2019-04-05 09:39:23

标签: php

我正在尝试从数据库中获取数组。我从以前的PHP文件中获得了表名,并且试图返回该数组。但是,它只响应一个错误。

如果我将查询中的$ db_name替换为名称作为字符串,它可以正常工作,但这不是我想要的。我不知道为什么它不起作用。只是不喜欢查询吗?仅当我将表名作为变量输入时,它才行不通。

   $db_name = $_SESSION['databaseMenu'];
   echo $db_name;

   $sql="SELECT feed FROM '".$db_name."' ";
   $result=mysqli_query($con,$sql);

   // Fetch all
   $outp = mysqli_fetch_all($result,MYSQLI_ASSOC);


   $arra = array_values($outp);


   return $arra;

就像我之前说的,当查询是一个简单的文本时,它返回数组,但是当我放入变量时,它以错误响应: ''' 警告:mysqli_fetch_all()期望参数1为mysqli_result,布尔值在 '''

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:1)

使用

$sql="SELECT feed FROM ".$db_name." ";

代替

$sql="SELECT feed FROM '".$db_name."' ";