Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择任何数据库时,它只显示表的数量,而不是所选数据库的所有表的名称_Php_Mysql - Fatal编程技术网

Php 选择任何数据库时,它只显示表的数量,而不是所选数据库的所有表的名称

Php 选择任何数据库时,它只显示表的数量,而不是所选数据库的所有表的名称,php,mysql,Php,Mysql,这是我的代码,请帮助我用php打印所选数据库表的所有名称 我已经通过show database命令显示了数据库的所有名称,它显示在下拉列表中,在选择特定数据库时,它只显示其中表的数量,但我想显示表的名称。请查看您的mysqli调用中是否有任何错误 这是工作代码 <?php session_start(); include 'dbconnect.php'; $q=$_GET['q']; echo $field= "Tables_in_".$q; $sq

这是我的代码,请帮助我用php打印所选数据库表的所有名称
我已经通过show database命令显示了数据库的所有名称,它显示在下拉列表中,在选择特定数据库时,它只显示其中表的数量,但我想显示表的名称。请查看您的
mysqli
调用中是否有任何错误

这是工作代码

<?php
    session_start();
    include 'dbconnect.php';
    $q=$_GET['q'];
    echo $field= "Tables_in_".$q;
    $sql = "SHOW TABLES FROM $q";
    $result= mysqli_query($conn,$sql);
    $new= array();
    $i=0;
    while ($row=mysqli_fetch_row($result)){
        echo $row['Tables_in_mysql'];
        $new[$i]=$row;
        $i++;
    }
    echo $num=count($new);
?>

我没有看到你在文章中提到的代码。$字段是从$q构建的,但是在你的while循环中,你已经硬编码了它,所以除非数据库是mysql,否则你不会看到任何东西。
$conn = new mysqli("localhost", "root", "");
$dbname = 'db_name';

$sql = "SHOW TABLES FROM $dbname";
$result = mysqli_query($conn,$sql);

if (!$result) {
    echo "DB Error, could not list tables\n";
    echo 'MySQL Error: ' . mysqli_error();
    exit;
}

while ($row = mysqli_fetch_row($result)) {
    echo "Table: {$row[0]}\n";
}