Это мой первый вопрос здесь о StackOverflow, и, честно говоря, я довольно новичок в PHP.Просто чтобы кратко рассказать вам;)
Я создаю веб-сайт на основе ООП в трехуровневой архитектуре.В моем уровне абстракции данных у меня есть объект, который я назвал DbAdapter, который содержит все функции, необходимые для взаимодействия с базой данных.Ниже приведена одна из этих функций: read ($ sql), которая принимает запрос SQL и сохраняет результат в двумерном массиве.
Для этого используются два вложенных цикла for (один длястроки и один для столбцов в строке).И хотя итератор $ 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;
}
}
}