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

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

不需要調用mysqli函數來插入值嗎?

不需要調用mysqli函數來插入值嗎?

PHP
天涯盡頭無女友 2023-07-08 17:55:06
我正在學習 MySQL 和 PHP,我已經看到使用此代碼可以在數據庫中插入值:$sql = "INSERT QUERY..."$insert = mysqli_query($connection, $sql);if($insert){ echo "Insert Worked";}else{ echo "Insert error". mysqli_error($connection);}正如你所看到的,這應該可行,但我不明白如何實現。如果您從不調用函數 mysqli_query,它只是存儲在 $insert 變量中。是在if條件下調用的嗎?另一件引起我注意的事情是,您在連接查詢中得到了該插入的錯誤,這不是一件壞事嗎?我的意思是,如果你在不同的查詢中有很多錯誤,它就不太有用,這是尋找錯誤的方法嗎?
查看完整描述

3 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

在大多數語言(包括 PHP)中,后面的任何內容=賦值運算符)都會在存儲到給定變量之前進行計算。賦值運算符=后面的任何內容;都會被解析為表達式,并且該表達式可能包含函數調用。這些函數調用會立即計算,并且這些函數調用的結果將用于表達式的其余計算。

在您的情況下,mysqli_query()調用函數并插入行,然后將返回的值存儲mysqli_query()在變量中$insert評估語句時不會調用它if。

關于您的錯誤處理問題,每個連接一次運行 1 個查詢,因此,如果您有多個查詢,則需要運行一個查詢,然后檢查錯誤并連續執行此操作。

mysqli_error()另外,就像 @Dharman 提到的那樣,您應該謹慎使用,因為除非您知道并且有一個經過深思熟慮的用例,否則不希望在生產中使用它。

查看完整回答
反對 回復 2023-07-08
?
白板的微信

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

正在調用mysqli_query并將結果存儲在$insert. 由于您使用的是插入語句,$insert因此將包含 hasTRUEFALSE,具體取決于插入語句是否成功。



查看完整回答
反對 回復 2023-07-08
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

每個連接一次能夠處理一個查詢;這就是 MySQL 和其他客戶端-服務器風格的數據庫系統的工作方式。mysqli API 設計者決定通過連接對象而不是查詢對象來訪問錯誤。這是一個合理的決定;通常,像您這樣的應用程序必須在運行新查詢之前處理錯誤,因此在查詢對象上保留錯誤意義不大。

錯誤由mysqli_query()返回的返回值表示為假。如果它返回正確,你就可以用它做更多的事情。如果您不確定“假”和“真”,請查閱它們。

但是,從根本上講,這些決定是 API 設計者盡最大努力創建有用的 API 所做出的決定。

(當然,您確實mysqli_query()在代碼示例中使用了..)


查看完整回答
反對 回復 2023-07-08
  • 3 回答
  • 0 關注
  • 184 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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