为什么我不能选择数据库中现有的表?

时间:2018-10-31 12:40:55

标签: php-mysqlidb

编辑

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

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-无法执行SQL截断表”

1 个答案:

答案 0 :(得分:0)

$ 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>";
}

说明:-

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

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