2017-03-28 77 views
0

我的代码有问题。我正在尝试进行私人聊天。我正在使用PHP和MySQL。但现在我有这样的错误:“致命错误:未捕获的异常‘mysqli_sql_exception’有消息“表‘b7_19757973_4hfbroup.asdfannedegraaff’不存在”,我知道这意味着表不存在。但是,我用这个代码,如果表中存在看:我有一个PHP错误。但我不明白为什么

$query = mysqli_query($con, "SELECT * FROM `".$_SESSION['senderreceiver']."`"); 
if(!$query) 
    echo "The s does not exists"; 
$query2 = mysqli_query($con, "SELECT * FROM `".$_SESSION['receiversender']."`"); 
if(!$query2) 
    echo "The f does not exists"; 

但我仍然得到错误,我该如何解决这个问题?

者均基于会话都犯了这样的:

$sender = $_SESSION['username']; 
$receiver = $_POST["name"]; 
$senderreceiver = $sender . $receiver; 
$receiversender = $receiver . $sender; 

$_SESSION['senderreceiver'] = $senderreceiver; 
$_SESSION['receiversender'] = $receiversender; 

对不起我的英文不好和我的不好解释。但我希望你能帮助我..

+1

那么99%的情况,这是否表存在吗?或者更有可能的是,你的专栏名称中有一段时间吗? –

+0

@JohnConde没有那个表不存在。但我希望它寻找正确的,因为其中一个存在。 –

+0

'if(){} else {}'它需要什么....你确定你的表名存储在一个会话中吗? –

回答

2

如果表不存在,mysqli的将总是抛出这个错误。

尝试,而不是SHOW TABLES LIKE 'tablename';

但是另外一个担忧:不保存会话内部数据库表名。这是不好的做法,并在不需要

+0

如果表不存在? –

+1

** MYSQLI总是会抛出错误。** –

+0

Resultset会有结果或不是,所以只要检查返回值是什么 –

相关问题