首页 > 解决方案 > 为什么我无法选择数据库中存在的表?

问题描述

编辑

我连接到我的数据库,我想验证我是否可以选择我的表。它们确实存在,但我总是得到“无法选择(其中一个)数据库”

if ($DBConnect === false) { //We verify if we are connected to the Database
    echo "<p> Connection failed </p>\n";
} else {
    //We want to check if there is the two table in the database
    $sqlPat = "SELECT * FROM `tbl_patient`";
    $sqlUser = "SELECT * FROM `tbl_user`";
    $ResultPat = mysqli_query($DBConnect, $sqlPat);
    $ResultUser = mysqli_query($DBConnect, $sqlUser);

    if (empty($ResultPat) || empty($ResultUser)) {
        echo "<p> Unable to select (one of) the Databases</p>";
    } else {
        $sqlTruncP = "TRUNCATE TABLE `tbl_patient`";
        $sqlTruncU = "TRUNCATE TABLE `tbl_user`";
        $QResultTP = mysqli_query($DBConnect, $sqlTruncP);
        $QResultTU = mysqli_query($DBConnect, $sqlTruncU);
        if ($QResultTP) {
            echo "<p>  Well done my mate ".$sqlTruncP. " done ". $DBConnect->info."</p>";
            if ($QResultTU) {
                echo "<p>  Well done my mate ".$sqlTruncU. " done ". $DBConnect->info."</p>";
            }
        } else {
            echo "<p> No Way Hose - Unable to perform SQL Truncate Table </p>";
        }
    }

我每次都得到“No Way Hose - Unable to perform SQL Truncate Table”

标签: phpmysqli

解决方案


$ResultPat 和 $ResultUser 将返回一个数组而不是字符串,因此您必须使用下面给出的方法检查数组是否为空。

if (empty($ResultPat) || empty($ResultUser)){
echo "<p> Unable to select (one of) the Databases</p>";
}

您还可以检查数组中的值,但只需使用

echo "<pre>"print_r($ResultUser);die;

上面的代码将打印您的数组元素,并且在您的数组打印在屏幕上后,die 将停止代码。

第二个问题答案:-

if ($QResultTP)
{   echo " Well done my mate ";
    echo "  Well done my mate ";

}else
{
    echo "<p> No Way Hose - Unable to perform SQL Truncate Table </p>";
}

解释: -

在您的第一个问题中,查询将返回一个数组,它可能为空或可以包含数据。empty 用于检查变量中的 null,'',0, 值。

他们截断查询不会返回任何数据。它只会截断表格。


推荐阅读