Re:MySQL服务器没有返回正确的输出

时间:2016-06-20 05:39:30

标签: php mysql

我遇到了类似问题的问题:MySQL server not returning correct output但即使问题有所改变,问题也没有在特定问题上得到解决。

<?php
require 'dbconnect.php'; //connection to db is success

$search = "SELECT Table_list FROM booktable WHERE status='booked'";
$table_query = mysqli_query($dbconnect,$search);
$row_check = mysqli_num_rows($table_query);

if($row_check>=1){
    $tables = array();
    while($row=mysqli_fetch_assoc($table_query)){
        $output = $row['Table_list'].'<br>';
        echo $tables[] = $output;  //returns o/p: Table1, Table2, Table3
        }
    if(array_key_exists('Table1',$tables)){ //trying to check if 'Table1' is in the array
        echo 'Table not available'; //if 'Table1' exists should echo this line
    }else{
        echo'Table available';
    }
}
?>

我的数据库中创建的表格位于:Table

while loop生成3个输出并通过array方法&amp;必须将Table1与输出进行比较。如果在Table1中找到array,它应该回显Table not available,但它会回显Table available
为什么array无效?

1 个答案:

答案 0 :(得分:2)

  

如果在数组中设置了给定的键,则array_key_exists()返回TRUE。   key可以是数组索引可能的任何值。   我不认为您正在检查数组中的键,因此array_key_exists无法在此使用in_array()而不是array_key_exists

$array  = array("table1","table2","tabl3");
if(in_array('table2',$array)){
  echo "Table not available";   
} else {
 echo "Table available";    
}