これは StackOverflow に関する私の最初の質問であり、率直に言って、私は PHP にかなり慣れていません。簡単な注意事項をお伝えします ;)
3 層アーキテクチャで OOP ベースの Web サイトを構築しています。データ抽象化レイヤーには、データベースとの通信に必要なすべての機能を含む、DbAdapter という名前のオブジェクトがあります。これらの関数の 1 つが次のとおりです。read($sql) は、SQL クエリを受け取り、結果を 2 次元配列に格納します。
このために、ネストされた 2 つの for ループ (行ごとに 1 つと列ごとに 1 つ) を使用します。イテレータ $i は通常どおりインクリメントしますが、どういうわけか配列の最後の要素が上書きされます。
これがどのように可能であるかはまったくわからないので、私が犯した間違いは非常にばかげているに違いありません。
初心者を手伝ってくれる人はいますか?
前もってありがとう、サム
public $loadedRows;
public function read($sql)
{
if ($this->connect())
{
$result = mysql_query($sql);
if ($result)
{
$totalRows = mysql_num_rows($result);
$totalFields = mysql_num_fields($result);
for ($i = 0; $i < $totalRows; $i++)
{
for ($j = 0; $j < $totalFields; $j++)
{
$fieldName = mysql_field_name($result, $j);
$loadedFields["$fieldName"] = mysql_result($result, $i, $fieldName);
}
$this->loadedRows[i] = $loadedFields;
}
$this->closeConnection();
return $this->loadedRows;
}
}
}