我遇到了类似问题的问题: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
无效?
答案 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";
}