2013-08-22 33 views
1

是不是不安全使用。我應該從項目中刪除mysql_error函數嗎?

mysql_error(); 

編程完成後在網站中的功能?

我已經使用這個代碼都在我的項目

mysql_query($q) or die(mysql_error()); 

用戶可以看到數據庫錯誤。

我應該從我的項目中刪除mysql_error函數嗎?

還是有辦法隱藏發生的錯誤

+1

如果可能,你甚至不應該使用'mysql_ *'函數。使用PDO或mysqli(在面向對象的模式下),編寫一個能夠精確處理錯誤的包裝器非常簡單,比如向您發送一個包含完整堆棧跟蹤的電子郵件,而不是將錯誤顯示回給用戶在安全方面是個壞主意)。 – Mike

回答

1

or die(...)真的是一個醜陋的快速拍攝「錯誤處理」方法。 mysql_error不是真的問題,die是。它最近更換無需重寫整個錯誤處理的基礎設施和一個好主意,一般有例外:

throw new Exception(mysql_error()); 

您希望如何處理那些你有很大的靈活性。在生產中,您將設置全局異常處理程序來記錄所有未捕獲的異常,但不會將其消息輸出到屏幕。

相關問題