Расширения для работы с базами данных
- Уровни абстракции
- Расширения для работы с базами данных отдельных производителей
- CUBRID
- DB++
- dBase
- filePro
- Firebird/InterBase
- FrontBase
- IBM DB2 — IBM DB2, Cloudscape and Apache Derby
- Informix
- Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
- MaxDB
- Mongo — MongoDB
- mSQL
- Mssql — Microsoft SQL Server
- MySQL — MySQL Drivers and Plugins
- OCI8 — Oracle OCI8
- Ovrimos SQL
- Paradox — Paradox File Access
- PostgreSQL
- SQLite
- SQLite3
- SQLSRV — Microsoft SQL Server Driver for PHP
- Sybase
- tokyo_tyrant
- Изменение поведения PHP
- Обработка аудио форматов
- Службы аутентификации
- Расширения для работы с командной строкой
- Расширения для сжатия и архивации
- Обработка кредитных карт
- Криптографические расширения
- Расширения для работы с базами данных
- Расширения для работы с датой и временем
- Расширения для работы с файловой системой
- Поддержка языков и кодировок
- Обработка и генерация изображений
- Расширения для работы с почтой
- Математические расширения
- Генерация нетекстовых MIME форматов
- Расширения для управления процессами программ
- Другие базовые расширения
- Другие службы
- Расширения для работы с поисковыми системами
- Расширения для работы с серверами
- Расширения для работы с сессиями
- Обработка текста
- Расширения, относящиеся к переменным и типам
- Веб-сервисы
- Расширения только для Windows
- Обработка XML
Коментарии
This is an example to create SQL query commands automatically by setting options.
<?php
// Set required parameters here.
// The order of setting determines the order of constructing options.
$options = array(
"SELECT" => array('item1', "item2"),
"FROM" => 'table',
"WHERE" => array("visible = 1", 'param > 3'),
"LIMIT" => array(2, 5)
);
// Each command can have different separator strings.
// default: " " (white space)
// for example : [ WHERE visible = 1 param > 3 ] to [ WHERE visible = 1 AND param > 3 ]
$separators = array(
"AND" => "WHERE",
"," => array("SELECT", 'LIMIT')
);
echo "<pre>";
echo queryGenerate($options, $separators);
echo "</pre>";
// output:
// SELECT item1 , item2 FROM table WHERE visible = 1 AND param > 3 LIMIT 2 , 5
function queryGenerate($options = array(), $separators = array())
{
$sql = "";
if(is_array($options) && is_array($separators))
{
foreach ($options as $command => $param)
{
if(is_array($param))
{
$separateCode = null;
foreach ($separators as $separator => $words)
{
if(is_array($words))
{
for ($i = 0, $count = count($words); $i < $count; $i++)
{
if(stripos($words[$i], $command) !== false)
{
$separateCode = $separator;
}
}
}
else
{
if(stripos($words, $command) !== false)
{
$separateCode = $separator;
}
}
}
$sql .= "{$command} ";
for ($i = 0, $count = count($param); $i < $count; $i++)
{
if($i > 0)
{
$sql .= ($separateCode === null) ? " " : " {$separateCode} ";
}
$sql .= "{$param[$i]}";
}
$sql .= " ";
}
else
{
$sql .= "{$command} {$param} ";
}
}
}
return $sql;
}
?>