2015-01-17 45 views
0

我剛剛上傳我的項目到我的網站服務器,我收到這個錯誤消息,當我點擊我的提交按鈕,我的登錄窗體。爲什麼我從文件mysqli/mysqli_driver.php中獲取錯誤?

A PHP Error was encountered 
Severity: Warning 

Message: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given 

Filename: mysqli/mysqli_driver.php 

Line Number: 315 

我絕對沒有在我的本地服務器上的錯誤,我完全陷入了什麼問題。如果有人可以請求幫助,我會非常感激,並將給予很大的尊重。

我的項目是使用codeigniters框架。

+1

你在哪裏代碼 –

+0

你的錯誤信息告訴你你的'mysqli'連接是'boolean',這很可能意味着'false',這意味着連接失敗。你需要檢查你的連接。 – Sean

+0

我能夠通過更改我的database.php文件將我的驅動程序從mysqli切換到mysql來使錯誤消失。不知道爲什麼這會起作用,你會認爲mysqli會工作得很好。現在當我按下登錄按鈕時,它會卡在我的login_validation函數上,並且頁面只顯示空白。現在我不知道要看什麼或修復。它在我的本地服務器上工作得很好。 –

回答

1
mysqli_real_escape_string() is used to prepare text data too be save in an SQL Record Column.<br>And the data being wrint to that column does not exist.<br><br> 

轉到mysqli_driver.php行#315,把一個在大關命令的弗朗以剿警告。

來源:

mysqli_real_escape_string() 

要:

@mysqli_real_escape_string() 

如果你逃避的值是一個整數,然後使用INTVAL()代替:
這將打開一個空成零

$var = intval($var); 
+0

我剛剛搜索了我的整個項目文件夾,我看到沒有名爲mysqli_driver.php的文件。 –

+0

這個文件是否存在於codeigniter框架上? –

+0

我最終發現它,非常感謝你soooo !!!!我不知道爲什麼當我使用崇高搜索該文件沒有出現。無論如何,你是一個拯救生命的人,謝謝。 –

0

而是用@隱藏警告,檢查conn_id是不假:

變化

$str = mysqli_real_escape_string($this->conn_id, $str); 

if($this->conn_id){ 
    $str = mysqli_real_escape_string($this->conn_id, $str); 
} 
0

我的解決辦法是初始化連接,如果它是不可用的。 換行#315:

​​
0

我也遇到過這個問題。 沃爾夫岡的解決方案適合我。

如果使用codeIgniter,更改數據庫配置 $db['default']['autoinit'] = TRUE; 也可以解決問題。

相關問題