Вибірка даних з таблиць БД, об'єкт даних
Хотів би дещо прояснити з вибіркою даних з БД.
Я так думаю, все що ми вибираємо з БД за допомогою php-кодування - то є об'єкт. І програміст, що створює SQL-запит повинен чітко розуміти структуру об'єкту.
Наприклад,
1. такий SQL-запит повертає лише одне число:
SELECT id FROM test WHERE id = 1;
2. такий SQL-запит повертає масив даних:
SELECT id FROM test ORDER BY id ASC;
3. такий SQL-запит повертає асоціативний масив даних:
SELECT CustomerName,ContactName,Address,City FROM Customers;
тобто ми маємо об'єкт кожного разу як лише отримуємо дані з БД, розуміючи якої структури об'єкт (чи то одне число, чи то рядок даних, чи масив) відповідно створюємо код на виведення даних на екран
в випадку 1:
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
$row = $res->fetch_assoc();
printf("id = %s ", $row['id']);
в випадку 2:
$res = $mysqli->query("SELECT id FROM test ORDER BY id ASC");
for ($row_no = $res->num_rows - 1; $row_no >= 0; $row_no--) {
$res->data_seek($row_no);
$row = $res->fetch_assoc();
echo " id = " . $row['id'] . "\n";
}
в випадку 3:
$result = $mysqli->query("SELECT CustomerName,ContactName,Address,City FROM Customers");
for ($row_no = $result->num_rows - 1; $row_no >= 0; $row_no--)
{
$result->data_seek($row_no);
$row = $result->fetch_assoc();
echo $row['CustomerName'],$row['ContactName'],$row['Address'],$row['City'].'<br>';
}