如何使用MySqli和PHP打印由某个前缀收集的表名列表

如何使用MySqli和PHP打印由某个前缀收集的表名列表,php,mysql,Php,Mysql,我正在尝试检索数据库中前缀为“CMS\ux”的所有表的列表 我现在使用的代码是: $DB->conn = new mysqli($DB->servername, $DB->username, $DB->password, $DB->database); if(!$DB->conn->connect_errno){ $recordset = $DB->conn->query("SELECT * FROM `TABLES` WHERE TAB

我正在尝试检索数据库中前缀为“CMS\ux”的所有表的列表

我现在使用的代码是:

$DB->conn = new mysqli($DB->servername, $DB->username, $DB->password, $DB->database);
if(!$DB->conn->connect_errno){
  $recordset = $DB->conn->query("SELECT * FROM `TABLES` WHERE TABLE_NAME LIKE 'CMS_*' AND TABLE_SCHEMA='$DB->database'");
  if($recordset->num_rows < 1){echo ("<H2>You have no Content-Types Defined...</H2>");}
  else{
    $recordset = $recordset->fetch_array();
    foreach($recordset as $record){
    var_dump($record);echo "<BR/>";
    }
  }
}else{die("fatal error;no database connection;");}
$DB->conn=newmysqli($DB->servername,$DB->username,$DB->password,$DB->database);
如果(!$DB->conn->connect\u errno){
$recordset=$DB->conn->query(“从`TABLES`中选择*,其中TABLE_名称类似于'CMS\*',TABLE_SCHEMA='$DB->database'”;
如果($recordset->num_rows<1){echo(“您没有定义内容类型…”);}
否则{
$recordset=$recordset->fetch_array();
foreach($recordset作为$record){
var_dump($record);echo“
”; } } }else{die(“致命错误;无数据库连接;”;)}
在SQL中,您应该使用通配符
%
而不是
*

LIKE 'CMS_%'

编辑:

while($record=$recordset->fetch_array()){
var_dump($record);echo“
”; }
我将我的语句改为“显示像“CMS\u3%”这样的表,现在查询只返回第一个结果。如果我在phpMyAdmin中运行相同的查询,它将加载整个集合。我仍然无法理解这一点。
while($record = $recordset->fetch_array()){
   var_dump($record);echo "<BR/>";
}