iT邦幫忙

0

PHP 異常 Warning: mysqli_query() expects at least 2 parameters

搜尋網上沒找出類似答案 , 畢竟 CODE 還是不一樣
我要搜尋 m_username 的資料
錯誤訊息如下
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\htdocs\member_inquire.php on line 10
https://ithelp.ithome.com.tw/upload/images/20180418/20104326LGhNexPEq1.png

https://ithelp.ithome.com.tw/upload/images/20180418/20104326z1gVPDlQQU.png

看更多先前的討論...收起先前的討論...
wingkawa iT邦新手 3 級 ‧ 2018-04-19 09:25:01 檢舉
Warning: mysqli_query() expects at least 2 parameters, 1 given in
錯誤訊息說mysqli_query()這個function,最少也要有兩個參數(2 parameters)
你很顯然只有給他一個參數(1 given in)

你的問題其實是英文不好……?
wei225890 iT邦新手 5 級 ‧ 2018-04-19 09:55:28 檢舉
http://php.net/manual/en/mysqli.query.php
mysqli_query() 裡面還要一個連線的參數
alex9453 iT邦新手 2 級 ‧ 2018-04-19 10:03:35 檢舉
wingkawa. 2 parameters. 我當然知道是兩個參數,這段英文一看就知道,我的英文還沒哪麼差,就算看不懂的人,用翻譯也會知道,就是不知道是哪兩個,才會上來問
wingkawa iT邦新手 3 級 ‧ 2018-04-19 10:40:44 檢舉
我開始覺得有點難抓到你的問題突破點了欸
首先你應該有用google搜尋: 「mysqli_query() php」,正常來說你就會找到php.net的官方手冊,裡面就有寫要哪些參數了
mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
如果你有找到且還是不懂的話,那你應該要發問說:「我不知道php的mysqli_query()裡的$link和$query是什麼東西?請問有人可以說明嗎?」之類的

雖然一樣都是可以google到的答案啦,但這樣問問題才是有效率的
你原本的問法其實是要人通靈猜你哪裡不懂欸:
1. 我不懂為什麼錯,這是我的截圖
2. 參數少了
3. 我知道參數少了,但我不知道少哪個
那你為什麼不一開始就問「我少了哪個參數」,總是要兜一圈呢XD?
所以你不是英文不好,而是程式理解能力太差。
屬於明明open book的情況下還會考0分的學生。

這我可以理解。畢竟並不是所有人都是寫程式的料。

這邊在給你解釋一下,只針對該問題說明。
(其實這也可以一個參數就可以,但我擔心你理解太差,我就不另說明)
你已經知道它指要兩個參數。也就是代表這個函數是需要兩個以上的參數才可以有作用。
所以你的 mysqli_query()內,只給一個字串,也就是只給了一個參數。
正常來說mysqli_query()是需要一個執行sql參數跟要一個連線參數(非必要)才行。

不知道這樣是否清楚了??

或是從其它人的說明了解一下吧。因為這已經算是很基本的東西。
且很容易了解的東西。
如果無法知道這些東西的話。這也証明了兩個可能性。
1.你不想去了解跟用心。
2.你的理解邏輯能力真的太差。

如果你是連線參數是什麼也不知道的話。那早點學pdo會比較好吧。
雖然我很擔心讓你學pdo對你來講是否太難了。
要知道php7可是已經不在支援mysql系列的函數喔!!
@wingkawa
這邊可能大多數的人都知道他的問題大多數都是需要通靈的。
因為他是屬於連問題都不會問的初學者。(雖然他本人並不想承認)
有時候跟他說太多,他會反而回頭質問喔!!(可參考他在此的發問就可以了解)
所以多餘要注意的東西。可以不需要跟他說太多。要回的話就簡單回覆,能最好的是給他code。(不過給他code也不能用教學式的。要不然他copy不能用又會怪你)
froce iT邦大師 1 級 ‧ 2018-04-19 11:26:34 檢舉
你都知道是參數少了,你還不去查官方文件,到底還要傳什麼參數進去?
自己努力過,去了解,看到你的問題有點水準,我們幫你也會幫的比較愉快。
程式真的不是這樣問的好嗎?
alex9453 iT邦新手 2 級 ‧ 2018-04-19 12:11:34 檢舉
我還在培養無中生有的能力
froce iT邦大師 1 級 ‧ 2018-04-19 12:38:13 檢舉
> 我還在培養無中生有的能力

...我還是老話一句,I will pray for your customer, forever.
查官方文件是跟你寫程式會牴觸喔?我是沒看過不會查官方文件還能寫得好code的程設啦。
連基本語法都不懂,還寫專案哩
alex9453 iT邦新手 2 級 ‧ 2018-04-19 17:34:42 檢舉
kksugsay 我看過你的發問,也沒比較好,也是被好幾個人吐嘈
所以說……人家發問好與不好是關你什麼事?
我不太想嗆你我連書都沒有買只是參照官方手冊就簡單的用ASP.NET弄出了測試網站還用他的MVC架構塞了些資料。
對。我從來沒寫過ASP.NET也沒學過C#
我不知道你是拿什麼嗆人家嗆很大?
alex9453 iT邦新手 2 級 ‧ 2018-04-20 09:05:07 檢舉
那我發問好不好,又關他什麼事,他憑什麼嗆我,自己都沒能力還嗆我
他能力比你好太多了,為什麼不能嗆你?
而且你要回嗆人家時,你拿出了什麼?
我只看到你拿出滿滿的憤怒跟不滿。
卻看不到你拿出虛心求教的心。
大家憑什麼要去按你要求的做?
這樣你跟我說你想學好一個語言?
來!來!來!要不要約出來見個面大家坐下來聊?我可以邀約大家為你辦個程式討論聚會。
alex9453 iT邦新手 2 級 ‧ 2018-04-20 09:29:11 檢舉
他的能力好太多嗎?你有去看他發言嗎?以下這是別人對他的評論。不想跟你筆戰,破壞我們的關係,就此打住
wiseguy iT邦超人 1 級 ‧ 2018-03-09 10:29:13 檢舉
這種看來可以寫一份報告的問題,是作業吧?
教授出這種提目是讓你思考,可以從哪些方面來做比較,或是自己動手設計比較方法。重點其實不是答案,因為教授不可能不知道答案。你連想都不想就丟上來這裡,不太好喔~
我跟你有關係有好嗎?沒有。
你還是你。我還是我。
你做不對,我一樣噹你。
你是不想跟我筆戰?還是拿不出東西來跟我筆戰?
這二個在意義上差很多的。
我反而會歡迎你來戰,前提是你要拿得出東西來。

然後kksugsay的問題也算是有點深度的。
然後僅僅一人的評價你就可以把人家看貶你會不會太誇張了?
重點是:你為什麼一直在關注別人的好壞?那你自身的問題解決了嗎?
然後我再告訴你force的回答一開始就是對的了。
你連他說的「連線物件」是什麼東西都沒理解對喔!
跟你的引入「require_once("connMysql.php");」這個意見是「毫無關係的」
人家早就知道你有引入「另一個檔案」
但是你並沒有將這個「實體化」物件傳入。
對!因為你對物件導向大概也沒什麼了解。
所以聽不懂人家跟你說的名詞「連線物件」。

你可以直接給他最佳解答結案了。
如果你不給,很明白的:你果然還是沒看懂。
alex9453 iT邦新手 2 級 ‧ 2018-04-20 10:14:53 檢舉
不跟你扯,跟你扯會扯不完,到時發言額度又滿了,這題有些人給了我一些方向,但沒給答案,也無法驗證對不對,我也找了哪些方向,也驗證不對,不知道是方向不對,還是我找的答案不對, 你是PHP的專家,是不是可以給我方向,也給我答案 ,這樣比較好了解。
方向就是force的答案。
東西就在你眼前,你卻選擇了視而不見。
alex9453 iT邦新手 2 級 ‧ 2018-04-20 10:36:09 檢舉
可以直接寫code嗎?我要驗證對不對
你不是要訓練自己無中生有,自己寫code啊!
alex9453 iT邦新手 2 級 ‧ 2018-04-20 10:41:40 檢舉
看來你也不知道code是什麼
所以你知道囉?那你知道就寫出來啊。
我教人向來就是只引導不太直接給答案。
除非對方是真心誠意在學習。
但我看不到你的誠心誠意所以不會給你任何code。
alex9453 iT邦新手 2 級 ‧ 2018-04-20 10:50:14 檢舉
別人怎麼知道你的引導對不對,否則只是浪費別人的時間,去找一些不對的方向
怎麼我從來引導別人都沒出過問題,要引導你就那麼多的問題?
別人沒問題,你有問題,那是誰的問題?
不要再找藉口了,快把你的東西做出來。
alex9453 iT邦新手 2 級 ‧ 2018-04-20 11:18:12 檢舉
誰知道你引導別人有沒有問題, 老王賣瓜自賣自誇這個道理,你不會不懂吧! 連這題code你都寫不出來, 我真的懷疑你的實力,又浪費我一篇額度
那你就慢慢懷疑吧!
反正你寫不出來也不關我的事。
想免費就這樣跟我要code?門都沒有。
唉~~~可樂。
我都懶的理他了。你居然還對這種人用心。
真是夠了。我已經是放棄了。

現在他的問題我只當他是在寫笑話不是寫程式了。
然後也會笑笑的打屁一下。不要再對他太認真了啦。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
froce
iT邦大師 1 級 ‧ 2018-04-18 23:32:09
最佳解答

參考資料:https://www.w3schools.com/php/func_mysqli_query.asp

還要傳入連線物件,要不然程式不知道你要向哪台server查。

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\htdocs\member_inquire.php on line 10
debug已經寫的有夠清楚了,拜託看一下好嗎?

看更多先前的回應...收起先前的回應...
alex9453 iT邦新手 2 級 ‧ 2018-04-19 09:14:01 檢舉

我的第三行不是有連線物件 require_once("connMysql.php");
https://ithelp.ithome.com.tw/upload/images/20180419/20104326ZIShLr5Fpu.png

這裏我只想說~~~
你有無注意到你這裏的第15行。跟你上面的第10行用法不一樣??

fillano iT邦超人 1 級 ‧ 2018-04-19 11:13:07 檢舉

mysqli有兩種語法,物件導向式的語法與函數式的語法,不能混用。

既然在connMysql.php裡面是使用物件導向式的語法,後續也要使用這種語法。

許多PHP的Library都是這樣。如果可以的話,建議直接去看mysqli的文件:http://php.net/manual/en/book.mysqli.php

裡面有一個對照表:http://php.net/manual/en/mysqli.summary.php

物件導向式的方法,與對應的函數,參數還是有不一樣。物件導向式的語法,$link會透過類別的實體來維護。但是在函數式的語法,這個$link是在連接資料庫時回傳,然後你要自己維護,因為呼叫其他函數時,都要傳過去。

froce iT邦大師 1 級 ‧ 2018-04-19 12:47:58 檢舉

fillano兄,他是不會看的,他會要你生code給他。

alex9453 iT邦新手 2 級 ‧ 2018-04-19 12:58:51 檢舉

fillano給的方向就很好,這樣我就知道要怎麼找,我不是只要答案,我是要方向,知道方向才可以解決很多問題,答案只能解決一個問題

alex9453 iT邦新手 2 級 ‧ 2018-04-19 21:31:16 檢舉

froce 你連連線程式都看不懂 , 還在說三道四

你很喜歡挑人家不小心沒注意到的毛病啊。
你為什麼不是多花心思在你的問題上而是挑人毛病上?
我告訴你啦,程式菜鳥只有被罵的資格,沒有反嗆的資格。
連被罵的抗壓性都沒有跟我說你想當程式設計師?
從現在起只要有人教訓你一次,你回嗆一次就記你一點。
記滿十點你根本就完全不合適走這途。
自己小心累積吧。

alex9453 iT邦新手 2 級 ‧ 2018-04-20 10:48:05 檢舉

fillano謝謝你給了一些方向,我也找了一些答案,但都不對,應該是我沒找對,所以是否也可以給答案,讓我了解。謝謝!

froce iT邦大師 1 級 ‧ 2018-04-20 11:09:56 檢舉

我看不懂!?
我自學到現在專案寫到煩了,用raw sql的也寫過,你覺得我會看不懂?
懂的人看到我的回答就知道我在說什麼了,是不懂的才會不知道,然後不懂裝懂的才會見笑轉生氣。

更何況誰知道你引入什麼物件,你一開始也沒寫,看起來也沒有實例化,用法也是函式用法,我是會通靈知道你連線物件寫在裡面?

早就跟你說官方文件才是你最好的朋友,幹麻不去看,跑來問這種最基本的問題?

froce iT邦大師 1 級 ‧ 2018-04-20 11:13:09 檢舉

然後我果然沒看錯你嘛,開始求答案了。

fillano謝謝你給了一些方向,我也找了一些答案,但都不對,應該是我沒找對,所以是否也可以給答案,讓我了解。謝謝!

alex9453 iT邦新手 2 級 ‧ 2018-04-20 11:15:39 檢舉

既然你懂那code是什麼,不要跟我講說自己去查,因為你根本不懂, 所以不知道code是什麼,只會亂指引一些方向,這裡很多人不懂裝懂,讓人家覺得他很厲害,

froce iT邦大師 1 級 ‧ 2018-04-20 11:24:35 檢舉

上面明明就給你答案,你自己看不懂好嗎。
用函式的方式去連,會需要兩個參數,一個是連線物件,另外一個是查詢的SQL,
用物件導向式的去連,會先將連線實例化,然後鏈式去做查詢動作。
用python來寫虛擬碼的話大概是這樣。

import ConnectMySQL
conn = ConnectMySQL(server資訊)
result = conn.query(SQL code)

懂的話應該都看得懂我在寫些什麼。

alex9453 iT邦新手 2 級 ‧ 2018-04-20 11:29:07 檢舉

我不要大概要實際,你要php 你寫python ,我又不知道對不對

froce iT邦大師 1 級 ‧ 2018-04-20 11:29:47 檢舉

所以說你就只是要答案嘛...我又沒收你錢,不爽給你答案,又不是欠你的。

你真的懂了要改出來不用花幾分鐘的時間,拿來跟我吵的時間翻文件早就不知道讀多少了。

我只想說~~~真是夠了。
你要code我就給你code。
把你的
mysqli_query("你的sql碼")
改成
$db_link->query("你的sql碼");
就行了。

答案已經在你眼前了,如果你還看不懂沒關係。
在場的所有人大家一定都知道。我也不想跟你說明太多。
為何要這樣做

因為你一定不會聽也不想聽。
因為你完全不知道你載入的那隻程式是在做什麼的。
你不知道物件跟函式的區別。你只會拼拼。
現在拼錯了又不知道自已拼錯了。
人家已經告訴你,你那一片是另一盒的拼圖。你硬要說你沒拿錯。

那我就試試將code給你看看。
是給你code而不是給你Program喔。

不要跟我說我code還不會。要給Program才會。
給你Program的話,你也不用學了。下次麻煩你乾脆都用外包的就好了。

跑得快 iT邦新手 3 級 ‧ 2018-04-20 17:10:50 檢舉

有種藍色小舖小婷既視感...
froce大辛苦你了

本來寫了一大堆,但覺得肉肉長。
簡單講:人必先自辱,而後人辱之。

不自己作死,又怎麼會死呢?

不過這都不重要。
重要的是有人到現在還不知道本體已被覺察。
所以不打算叫他出來面對了。呵呵笑的應對就好了。

0
打雜工
iT邦研究生 1 級 ‧ 2018-05-07 00:00:13

froce給的答案很明確,如果真的不懂,建議可以去補習班上課,有付錢應該可以讓你問到飽

我要發表回答

立即登入回答