Main

Функции работы с базой данных

В систему встроено несколько функций для работы непосредственно с базой данных. Эти функции доступны как из исходного кода системы, так и из любого метода или сценария. Соединение с базой данных устанавливается автоматически, так что отдельно его открывать/закрывать нет необходимости.

SQLSelectOne

array SQLSelectOne(string query)

Посылает SELECT-запрос на сервер MySQL, возвращаемым результатом которого может быть только одна запись

Возвращает результат выполнения запроса в виде массива. Если SELECT-запрос query при выполнении вызвал ошибку, то функция SQLSelectOne() выдаст специальную страницу со строкой запроса, номером ошибки и объяснением ошибки.

Пример. SQLSelectOne()

<?
   $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()

<?php
   $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()

<?php
   $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()

<?php
   $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()

<?php
   $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()

<?php
   $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()

<?php
   If ($this->mode == 'delete') {
      SQLExec("DELETE FROM contacts WHERE ID='".$_GET['id']."'");
   }
?> 

 

MajorDomo

Информация

Проекты

Партнёры

edit SideBar

 
 
 

 

Blix theme adapted by David Gilbert, powered by PmWiki