В систему встроено несколько функций для работы непосредственно с базой данных. Эти функции доступны как из исходного кода системы, так и из любого метода или сценария. Соединение с базой данных устанавливается автоматически, так что отдельно его открывать/закрывать нет необходимости.
SQLSelectOne
array SQLSelectOne(string query)
Посылает SELECT-запрос на сервер MySQL, возвращаемым результатом которого может быть только одна запись
Возвращает результат выполнения запроса в виде массива. Если SELECT-запрос query при выполнении вызвал ошибку, то функция SQLSelectOne() выдаст специальную страницу со строкой запроса, номером ошибки и объяснением ошибки.
Пример. SQLSelectOne()
1 2 3 4 5 |
$Record = SQLSelectOne("SELECT * FROM contacts WHERE ID='".$_GET['id']."'"); $out['ID'] = $Record['ID']; $out['FIRSTNAME'] = $Record['FIRSTNAME']; $out['LASTNAME'] = $Record['LASTNAME']; $out['EMAIL'] = $Record['EMAIL']; |
SQLSelect
array SQLSelect(string query)
Посылает SELECT-запрос на сервер MySQL
Возвращает результат выполнения запроса в виде массива массивов. Если SELECT-запрос query при выполнении вызвал ошибку, то функция SQLSelect() выдаст специальный экран со строкой запроса, номером ошибки и объяснением ошибки.
Пример. SQLSelect()
1 2 3 4 5 6 |
$states = SQLSelect('SELECT * FROM states ORDER BY TITLE'); $cnt=Count($states); For($i=0; $i<$cnt; $i++) { $states[$i]['NUM'] = ($i+1); } $out['STATES'] = $states; |
Пример. SQLSelect()
1 2 3 4 |
$Result = SQLSelect("SELECT * FROM orders WHERE ACCOUNT='$account' ORDER BY STATUS ASC, ID DESC"); For($i=0; $i<count($Result); $i++) { $account['TOTAL'] += $Result[$i]['SUM']; } |
SQLInsert
int SQLInsert(string tablename, array &record)
SQLInsert() вставляет данные, переданные по ссылке, из массива record в таблицу tablename
Функция SQLInsert() возвращает идентификатор вставленной записи. Если при выполнении возникает ошибка, то функция SQLInsert() выдаст специальную страницу со строкой запроса, номером ошибки и объяснением ошибки.
Пример. SQLInsert()
1 2 3 4 5 |
$Record = Array(); $Record['FIRSTNAME'] = $firstname; $Record['LASTNAME'] = $lastname; $Record['EMAIL'] = $email; $Record['ID']=SQLInsert('contacts', $Record); |
SQLUpdate
int SQLUpdate(string tablename, array record)
Обновляет существующую таблицу, внося изменения в её записи SQLUpdate() изменяет данные в таблице tablename соответствующие массиву record
Функция SQLUpdate() возвращает 1 при успешном обновлении в таблице, либо 0 в противном случае. При возникновении ошибки функция SQLUpdate() выдаст специальную страницу со строкой запроса, номером ошибки и объяснением ошибки.
Пример. SQLUpdate()
1 2 3 4 5 6 7 8 9 |
$Record = SQLSelectOne("SELECT * FROM contacts WHERE ID='".$_POST['id']."'"); $Record['FIRSTNAME'] = $_POST['firstname']; $Record['LASTNAME'] = $_POST['lastname']; $Record['EMAIL'] = $_POST['email']; If (IsSet($Record['ID'])) { SQLUpdate('contacts', $Record); } Else { $Record['ID']=SQLInsert('contacts', $Record); } |
SQLUpdateInsert
int SQLUpdateInsert(string tablename, array &record)
Обновляет записи существующей таблицы, если это не удаётся, то запись добавляется как новая SQLUpdateInsert() изменяет запись в таблице tablename, поле 'ID' которой равно значению ключа 'ID' в массиве record, переданному по ссылке.
Функция SQLUpdateInsert() возвращает 1 при успешном обновлении записи в таблице, либо значение поля 'ID' новой добавленной записи. В противном случае 0. При возникновении ошибки функция SQLUpdate() выдаст специальную страницу со строкой запроса, номером ошибки и объяснением ошибки.
Пример. SQLUpdateInsert()
1 2 3 4 5 |
$Record = SQLSelectOne("SELECT * FROM contacts WHERE ID='".$_POST['id']."'"); $Record['FIRSTNAME'] = $_POST['firstname']; $Record['LASTNAME'] = $_POST['lastname']; $Record['EMAIL'] = $_POST['email']; SQLUpdateInsert('contacts', $Record); |
SQLInsertUpdate
int SQLInsertUpdate(string tablename, array &record)
Обновляет записи существующей таблицы, если это не удаётся, то запись добавляется как новая
SQLInsertUpdate() - это псевдоним функции SQLUpdateInsert.
SQLExec
resource SQLExec(string query)
SQLExec() посылает запрос в текущую открытую базу данных на сервере.
Если строка query пустая либо начинается с символа '#', то запрос игнорируется и функция возвращает пустой результат. Если запрос был выполнен с ошибкой, то SQLExec() возвращает 0. В противоположном случае она возвращает результат выполнения запроса.
Пример. SQLExec()
1 2 3 |
If ($this->mode == 'delete') { SQLExec("DELETE FROM contacts WHERE ID='".$_GET['id']."'"); } |