PHP / MySQLi-将表作为动态变量引用

时间:2019-01-21 19:42:58

标签: php arrays variables mysqli dynamic

我的数据库中有一系列表,它们都是连续命名的(puzzle1,puzzle2,puzzle3等)。我已成功连接到数据库,并将所有包含单词“ puzzle”的表扔到数组$puzzleArray中,然后重新排列顺序(shuffle($ puzzleArray))。然后设置一个计数变量$ count = 0;

我要做的是编写一个自定义函数,该函数在被调用时将使用被引用为puzzleArray[$count]的表,并在fetch_assoc()中弹出该表的内容,然后内容全部显示,增加$ count。

但是我编写的函数给了我这个错误:Undefined variable: puzzleArray-我不确定100%如何让代码知道这是一个引用变量,而不是一个表

PHP:

require "config.php"; // connecting to database in external php

$puzzleArray = array_column(mysqli_fetch_all($conn->query("SHOW TABLES from $db_name like '%puzzle%'")),0); //putting all the tables into an array
shuffle($puzzleArray); //shuffling the array

$count = 0;

function loadNextRound(){
   $sql = "SELECT * FROM $puzzleArray[$count]"; //This is where the ERROR occurs
   $round = $conn->query($sql);
   echo $round[0]."<br/>"; // Spitting out the name of the table
   if ($round->num_rows > 0) {
      while($row = $round->fetch_assoc()) {
         echo $row['answer'] . " - " . $row['score'] . " - " . $row['flip'] ."<br/>"; // spitting out the contents of the table in a row
      }
   }
   $count++; // incrementing the count
}

loadNextRound(); // calling the function

0 个答案:

没有答案