2017-03-28 101 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會有結果或不是,所以只要檢查返回值是什麼 –

相關問題