我試圖帶一個MySQL結果行並將它傳遞給一個函數進行處理,但該行未被傳遞。我假設這是因爲實際行作爲對象返回並且對象無法傳遞到函數?將PHP MySQL結果對象傳遞到函數
E.G
function ProcessResult($TestID,$Row){
global $ResultArray;
$ResultArray["Sub" . $TestID] = $Row["Foo"] - $Row["Bar"];
$ResultArray["Add" . $TestID] = $Row["Foo"] + $Row["Bar"];
}
$SQL = "SELECT TestID,Foo,Bar FROM TestResults WHERE TestDate !='0000-00-00 00:00:00'";
$Result= mysql_query($SQL$con);
if(!$Result){
// SQL Failed
echo "Couldn't find how many tests to get";
}else{
$nRows = mysql_num_rows($Result);
for ($i=0;$i<$nRows;$i++)
{
$Row = mysql_fetch_assoc($Result);
$TestID = $Row[TestID];
ProcessResult($TestID,$Row);
}
}
我需要的是$ ResultArray填充了MySQL查詢數據的加載。這不是我的實際應用程序(我知道沒有必要爲顯示的內容做這件事),但將結果傳遞給函數的原理是相同的。
這實際上可以做些什麼嗎?
丹
不建議用於編寫新代碼的MySQL擴展。相反,無論是[mysqli](http://www.php.net/manual/en/book.mysqli.php)還是[PDO_MySQL](http://www.php.net/manual/en/ref.pdo應該使用-mysql.php)擴展名。另請參閱[MySQL API概述](http://www.php.net/manual/en/mysqlinfo.api.choosing.php)以獲得進一步幫助,同時選擇MySQL API。 –
@DC_是對的。無論如何,你的意思是行不通過? – Raffaele
'...和對象不能傳遞給函數嗎?'對象當然可以*傳遞給函數。順便說一句,他們通過引用傳遞,但他們仍然通過。 –