Получение данных
Примеры кода SQL-запросов для получения данных в MySQL. Будем считать что у нас есть таблица users с столбцами login, age, email и соединением $conn.
$sql = 'SELECT login, email FROM users';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "<br/>");
}
Выводит все строки с указанными столбцами.
$sql = 'SELECT * FROM users';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
Выводит все строки со всеми столбцами.
$sql = 'SELECT * FROM users';
$result = mysqli_query($conn, $sql);
$rowsCount = mysqli_num_rows($result);
mysqli_free_result($result);
Количество полученных строк. mysqli_free_result - освобождение памяти, занятой результатами запроса.
$sql = 'SELECT * FROM users WHERE age > 20';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Покажет пользователей у которых возраст больше 20
$sql = 'SELECT * FROM users ORDER BY age ASC';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Сортировка по возрастанию возраста
$sql = 'SELECT * FROM users ORDER BY age DESC';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Сортировка по убыванию возраста
$sql = 'SELECT * FROM users WHERE age > 20 AND age < 40';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Список пользователей с возрастом старше 20 и моложе 40.
$sql = 'SELECT * FROM users WHERE age = 20 OR age = 40';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Список пользователей с возрастом 20 или 40.
$sql = 'SELECT * FROM users LIMIT 5';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Выводит первые 5 строк.
$sql = 'SELECT * FROM users LIMIT 5,10';
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
print("Имя: " . $row['login'] . "; Почта: . " . $row['email'] . "; Возраст: " . $row['age'] . "<br/>");
}
mysqli_free_result($result);
Выводит с 5 по 10 строку.
$sql = 'SELECT * FROM users WHERE login=".mysqli_real_escape_string($name)."';
$result = mysqli_query($conn, $sql);
$data = mysqli_fetch_assoc($result);
//$data['email']
//$data['age']
mysqli_free_result($result);
Получение данных, в массив, пользователя $name.
Все SQL-запросы можно комбинировать, то есть использовать вместе.