Теперь мы подходим непосредственно к тому, как формировать и посылать запросы к базе данных. Для этого существует одна-единственная функция— mysql_query() — и возвращает она не что иное, как идентификатор результирующего набора данных.
Помните, мы говорили, что результат сразу не пересылается клиенту? Так вот, чтобы до него добраться, и служит этот идентификатор. Существует очень много функций, которые принимают его в качестве параметра и возвращают те или иные данные. Их мы рассмотрим чуть позже.
int mysql_query(string $query [,int $link_identifier])
Эта функция в своем роде универсальна: она посылает MySQL-серверу запрос $query и возвращает идентификатор ответа, или результата. Параметр $query представляет собой строку, составленную по правилам языка SQL. Используется установленное ранее соединение $link_identifier, а в случае его отсутствия — последнее открытое соединение.
Есть несколько команд SQL, которые возвращают только признак, успешно они выполнились или нет (например, это команды UPDATE, INSERT и т. д.).
В таком случае этот признак и будет возвращен функцией. Наоборот, для запроса SELECT возвращается как раз идентификатор вывода, нулевое значение которого свидетельствует о том, что произошла ошибка.
На самом деле существует еще одна функция для выполнения запроса, но использовать ее менее удобно, поскольку всякий раз приходится указывать имя базы данных, к которой осуществляется доступ.
int mysql(string $dbname, string $query [,int $link_identifier])
Служит для тех же целей, что и функция mysql_query(), только обращение осуществляется не к текущей выбранной базе данных, а к указанной в параметре $dbname. Если вы владеете сразу несколькими базами данных и обращаетесь к ним одновременно, то, возможно, применение этой функции окажется для вас оправданным. Как обычно, параметр $link_identifier можно опустить, тогда используется последнее открытое соединение.