我的页面
显示" mysql_num_rows()期望参数1是资源, 布尔值在......中给出。
表不存在"我不知道我的问题在哪里。
这是我的代码:
$sql="SELECT *
FROM
$db_name WHERE
table_name='{$_SESSION
["group"]}'";
$texist=mysql_query($sql);
$count=mysql_num_rows($texist);
if($count==1){
echo"table exists";
}else{
echo "table does not exist";
}
答案 0 :(得分:2)
注意: mysql_ *在PHP中已弃用。使用MySQLi或PDO_MySQL
尝试
if (mysql_num_rows(mysql_query("SHOW TABLES LIKE '" . $_SESSION["group"] . "'")) == 1)
{
echo "exists";
}
else
{
echo "not";
}
答案 1 :(得分:1)
如果表格不存在,我们从表格中选择一行将返回false
。我们需要在此处使用强比较opertator而不是==
,您需要使用===
或{{ 1}}
!==
答案 2 :(得分:0)
要检查数据库中是否存在表,您可以使用以下两种方法之一
1
SHOW TABLES LIKE 'table_name';
2
SELECT count(*)
FROM information_schema.tables
WHERE table_schema = 'db_name'
AND table_name = 'table_name'
有关详细信息,请参阅Here
答案 3 :(得分:0)
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
在出错时返回false,而不是资源。在继续之前检查该错误。
示例检查:
WHERE