亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何顯示MySQLi查詢的錯誤?

如何顯示MySQLi查詢的錯誤?

嗶嗶one 2019-05-25 15:41:36
如何顯示MySQLi查詢的錯誤?我使用以下腳本來處理表單以向我的網站添加信息。我遇到的問題是,當我提交表單時,沒有任何內容被提交到數據庫,并且沒有錯誤。如何向查詢添加錯誤報告?<?phpif (isset($_POST['itemdescription'])) {$itemdescription = $_POST['itemdescription'];}else {$itemdescription = '';}if (isset($_POST['itemnumber'])) {$itemnumber = $_POST['itemnumber'];}else {$itemnumber = '';}if (isset($_POST['sellerid'])) {$sellerid = $_POST['sellerid'];}else {$sellerid = '';}if (isset($_POST['purchasedate'])) {$purchasedatepre = $_POST['purchasedate'];$date = DateTime::createFromFormat("D F d, Y", $purchasedatepre);$purchasedate = date('Y-m-d',strtotime($purchasedatepre));}else {$purchasedatepre = ''; $purchasedate = '';}if (isset($_POST['otherinfo'])) {$otherinfo = $_POST['otherinfo'];}else {$otherinfo = '';}if (isset($_POST['numberofitems'])) {$numberofitems = $_POST['numberofitems'];}else {$numberofitems = '';}if (isset($_POST['numberofitemsused'])) {$numberofitemsused = $_POST['numberofitemsused'];}else {$numberofitemsused = '';}if (isset($_POST['isitdelivered'])) {$isitdelivered = $_POST['isitdelivered'];}else {$isitdelivered = '';}if (isset($_POST['price'])) {$price = $_POST['price'];}else {$price = '';}$itemdescription = str_replace("'", "", "$itemdescription");$itemnumber = str_replace("'", "", "$itemnumber");$sellerid = str_replace("'", "", "$sellerid");$otherinfo = str_replace("'", "", "$otherinfo");include("connectmysqli.php"); mysqli_query($db,"INSERT INTO stockdetails (`itemdescription`,`itemnumber`,`sellerid`,`purchasedate`,`otherinfo`,`numberofitems`,`isitdelivered`,`price`) VALUES ('$itemdescription','$itemnumber','$sellerid','$purchasedate','$otherinfo','$numberofitems','$numberofitemsused','$isitdelivered','$price')");// header('Location: stockmanager.php?&key='.$key);?>
查看完整描述

3 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

只需or die(mysqli_error($db));在查詢結束時添加,就會打印出mysqli錯誤。

 mysqli_query($db,"INSERT INTO stockdetails (`itemdescription`,`itemnumber`,`sellerid`,`purchasedate`,`otherinfo`,`numberofitems`,
 `isitdelivered`,`price`) VALUES ('$itemdescription','$itemnumber','$sellerid','$purchasedate','$otherinfo','$numberofitems','
 $numberofitemsused','$isitdelivered','$price')") or die(mysqli_error($db));

作為旁注,我會說你有風險mysql injection,請點擊這里如何在PHP中阻止SQL注入?。您應該使用準備好的語句來避免任何風險。


查看完整回答
反對 回復 2019-05-25
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

mysqli_error()

如:

$sql = "Your SQL statement here";$result = mysqli_query($sql) or trigger_error("Query Failed! SQL: $sql - Error: ".mysqli_error(), 
E_USER_ERROR);

觸發錯誤比die更好,因為你可以將它用于開發和生產,它是永久的解決方案。


查看完整回答
反對 回復 2019-05-25
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

出于開發目的,您可以在行中or die(mysqli_error($conn))的分號前添加mysqli_query($conn, 'SELECT...')。

確保在推送到生產之前刪除它,因此不要向公眾輸出有關數據庫的信息。


查看完整回答
反對 回復 2019-05-25
  • 3 回答
  • 0 關注
  • 1992 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號