Пример #1
0
 public static function connect()
 {
     $db = Krugozor_Database_Mysql::create(Settings::database_address, Settings::database_login, Settings::database_password)->setCharset('utf8')->setDatabaseName(Settings::database_name);
     return $db;
 }
Пример #2
0
<?php

// Примеры использования Krugozor_Database_Mysql
error_reporting(E_ALL | E_STRICT);
header('Content-type: text/plain; charset=utf-8');
include './Mysql.php';
include './Mysql/Exception.php';
include './Mysql/Statement.php';
try {
    $db = Krugozor_Database_Mysql::create('localhost', 'root', '')->setCharset('utf8')->setDatabaseName('test');
    // Создаем таблицу для тестирования.
    $db->query('DROP TABLE IF EXISTS users');
    $db->query('
        CREATE TABLE users(
            id int unsigned not null primary key auto_increment,
            name varchar(255),
            age tinyint,
            adress varchar(255)
        )
    ');
    // Ради интереса раскоментируйте строку ниже и посмотрите на поведение режима MODE_STRICT на разных запросах
    // $db->setTypeMode(Krugozor_Database_Mysql::MODE_STRICT);
    // Основное: заполнители, преобразования и экранирование аргументов:
    // Для наглядности с помощью метода prepare() иллюстрируем поведение заполнителей на разных типах данных
    // Преобразования данных в integer (заполнитель ?i)
    $data = array(1, '2', '3+мусор', true, null);
    pr($data);
    result($db->prepare('?ai', $data));
    // Преобразования данных во float (заполнитель ?p)
    $data = array(1, 2.2, '3.3', '4.4+мусор', true, null);
    pr($data);