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

為了賬號安全,請及時綁定郵箱和手機立即綁定

mysqli_insert_id()和mysql_insert_id()的區別

老師是使用的mysql_insert_id(),括號里面不用填參數,但是我們是用的mysqli_insert_id(),括號里面必須要填一個鏈接數據庫的返回值,但是一但填了,就意味著數據庫是重新鏈接了,所以無論怎么樣都返回的是0,不知道有沒有同學和我遇到的是一樣的問題,麻煩老師解決下,謝謝

正在回答

5 回答

mysqli=mysql+

mysqli是php某個版本之后建議用來連接mysql數據庫的方法,之前的mysql已經啟用了。用mysqli將更加安全。

可以參考鏈接:

mysqli

0 回復 有任何疑惑可以回復我~

老師封裝好的insert()函數,改成mysqli之后。

function?insert($table,$array){
????$link?=?connect();
????$keys=join(',',?array_keys($array));
????$vals="'".join("','",?array_values($array))."'";
????$sql?=?"INSERT?INTO?{$table}($keys)?VALUES({$vals})";
????mysqli_query($link,$sql);
????return?mysqli_insert_id($link);
}

返回值就是該次插入操作影響的行的ID值。直接用一個變量接收返回值,再打印出來,可以發現并不是0的。

1 回復 有任何疑惑可以回復我~
#1

陳偉鴻

確定嗎?這里的$link = connect()是調用上面的封裝的connect對吧,按你的做法,我報了expects parameter 1 to be mysqli, 這個錯誤,
2018-09-19 回復 有任何疑惑可以回復我~
#2

陳偉鴻

沒問題了,是我搞錯了,,sorry
2018-09-19 回復 有任何疑惑可以回復我~

我也出現了這個問題,后來發現php新版已經不支持mysql_insert_id()了,我全部替換成mysqli_insert_id()才好使,不過就是需要傳遞參數,你弄清該傳什么參數就行了,不知道的可以百度搜一下!

0 回復 有任何疑惑可以回復我~

使用全局變量就可以

0 回復 有任何疑惑可以回復我~

一樣,所以我把后一個查詢ID的命令給刪了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117251    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程

mysqli_insert_id()和mysql_insert_id()的區別

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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