MySql
;MySQL Server 5.6
;MySQL
;PHP 5.3.10
; листинг 1.Подключение к БД.
$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s ", mysqli_connect_error());
exit();
}
Для всех примеров (листинге 1) приведенных в статье подключение к базе одинаковое. При использовании в работающем приложении, следует изменить алгоритм действий в случае неудачного подключения (как вариант переадресация на error.html
или на любую другую статическую страницу).
Подсчет строк в таблице.
листинг 2 $str = "SELECT COUNT(*) FROM table_name";
if ($res = mysqli_query($mysqli, $str))
{
$row = mysqli_fetch_assoc($res);
echo $row['COUNT(*)'];
}
NULL
;(*)
, вернет все строки таблицы, не зависимо от того есть значение NULL
или нет.В случае использования функции COUNT()
в том виде как показано в листинге 2
, название столбца в результирующей таблице совпадет с названием функции и ее параметрами, что бы это изменить необходимо назначить новое имя (псевдоним), для этого используется оператор AS
.
AS — это ключевое слово MySql используя его в выражении можно в качестве имени столбца указать псевдоним. (листинг 3.)
листинг 3
$str = "SELECT COUNT(*) AS count FROM table_name";
if ($res = mysqli_query($mysqli, $str))
{
$row = mysqli_fetch_assoc($res);
echo $row['count'];
}
листинг 4
$strCount = "SELECT COUNT(ID) AS count FROM pages WHERE author='1'";
if ($res = mysqli_query($mysqli, $strCount))
{
$row = mysqli_fetch_assoc($res);
echo $row['count'];
}
Этот код вернет количество строк в таблице у которых в столбце author указано значение 1. В том случае если столбец, имя которого передано функции COUNT(ID)
в качестве аргумента, может иметь в одной (или не одной) из строк значение NULL
, следует указать в качестве аргумента звездочку.