3 回答

TA貢獻1829條經驗 獲得超9個贊
在大多數語言(包括 PHP)中,后面的任何內容=
(賦值運算符)都會在存儲到給定變量之前進行計算。賦值運算符=
后面的任何內容;
都會被解析為表達式,并且該表達式可能包含函數調用。這些函數調用會立即計算,并且這些函數調用的結果將用于表達式的其余計算。
在您的情況下,mysqli_query()
調用函數并插入行,然后將返回的值存儲mysqli_query()
在變量中$insert
。評估語句時不會調用它if
。
關于您的錯誤處理問題,每個連接一次運行 1 個查詢,因此,如果您有多個查詢,則需要運行一個查詢,然后檢查錯誤并連續執行此操作。
mysqli_error()
另外,就像 @Dharman 提到的那樣,您應該謹慎使用,因為除非您知道并且有一個經過深思熟慮的用例,否則不希望在生產中使用它。

TA貢獻1883條經驗 獲得超3個贊
您正在調用mysqli_query
并將結果存儲在$insert
. 由于您使用的是插入語句,$insert
因此將包含 hasTRUE
或FALSE
,具體取決于插入語句是否成功。

TA貢獻1880條經驗 獲得超4個贊
每個連接一次能夠處理一個查詢;這就是 MySQL 和其他客戶端-服務器風格的數據庫系統的工作方式。mysqli API 設計者決定通過連接對象而不是查詢對象來訪問錯誤。這是一個合理的決定;通常,像您這樣的應用程序必須在運行新查詢之前處理錯誤,因此在查詢對象上保留錯誤意義不大。
錯誤由mysqli_query()
返回的返回值表示為假。如果它返回正確,你就可以用它做更多的事情。如果您不確定“假”和“真”,請查閱它們。
但是,從根本上講,這些決定是 API 設計者盡最大努力創建有用的 API 所做出的決定。
(當然,您確實mysqli_query()
在代碼示例中使用了..)
- 3 回答
- 0 關注
- 184 瀏覽
添加回答
舉報