Re: [問題] php function的變數週期@@a
※ 引述《grassboy2 (活力花俏草兒Grassboy大렩》之銘言:
: 啊啊…話說最近在重寫一個網站…
: 想說有用到mysqli_query的…
: 都能夠利用一個function,讓mysqli_query一出現錯誤就終止php程式…
: 以下是我實作的方式:
: function mysqli_query_new($link,$query) //執行mysqli_query,有錯便終止程式
: {
: $result=mysqli_query($link,$query);
: if(mysqli_errno($link)){
: echo "MySQL執行過程錯誤,程式強行中止:<br>".
: "錯誤訊息為:".mysqli_error($link)."<br><br>";
: exit();
: } else {
: return $result;
: }
: }
: 問題來了@@~
: 如果…用這個方法去作每個query…
: 那麼當mysqli_query_new這個function return了一個result...
: 那在mysqli_query_new裡的result會被free掉嗎?
: 這個不知道要怎麼爬文...
: 所以如果op了^^"真的很抱歉耶^^"
其實有點看不懂你在問什麼....@@
不過如果 你在主程式裡這樣用:
$queryresult=mysqli_query_new($somelink,$somequery);
那麼$result的值就會被接到$queryresult裡面
你要作動作時就可以用$queryresult去做
那你其實可以不用管到底$result的生命週期是到哪
--
我都用這樣來除query的錯的
就是寫一個函式 在函式中echo出註解 表示我query了啥
然後把實際query的結果丟出來
--
還是你是想要知道當你連續做
$query1=mysqli_query_new($somelink,$somequery);
$query2=mysqli_query_new($someotherlink,$someotherquery);
這樣時 $query1的值會不會不見嗎?
理論上是不會 因為$query1是把它回傳的結果接下來這樣
所以等於是把$result的值複製一次
(不然我的印象中好像local變數出了函式就不見了不是嗎?)
那兩次呼叫的$result該是獨立的
--
'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done
one thing to make absolutely sure that every single person in this school
will read your interview, it was banning it!'
---'Harry Potter and the order of the phoenix', P513
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.54
推
04/07 12:07, , 1F
04/07 12:07, 1F
→
04/07 12:07, , 2F
04/07 12:07, 2F
推
04/07 12:23, , 3F
04/07 12:23, 3F
→
04/07 12:24, , 4F
04/07 12:24, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):