PHP/MySQL | PDO vs MySQLi
Тема закрыта by
DenSBK
Причина: Не актул

Причина: Не актул
PhpStorm (11.02.2019 в 17:17)
Сибирский (11.02.2019 в 17:13)
PhpStorm, вот что Вы за язва, Артём Анатольевич, парень с добрыми помыслами, никому насрать не сказал, а Вы вот так вот ))))
тема звучит так: наблюдаю геморрой при написании подготовленных запросов, особенно при бинде параметров, но страх как хочется заюзать PDO, поэтому дайте мне обёртку
даю
ждём от ТС следующего вопроса, как её юзать
Сибирский (11.02.2019 в 17:13)
PhpStorm, вот что Вы за язва, Артём Анатольевич, парень с добрыми помыслами, никому насрать не сказал, а Вы вот так вот ))))
тема звучит так: наблюдаю геморрой при написании подготовленных запросов, особенно при бинде параметров, но страх как хочется заюзать PDO, поэтому дайте мне обёртку
даю
<?php
class MySQL
{
protected static $connection = null;
public static function connection()
{
if (self::$connection === null) {
try {
$dsn = 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=' . DB_CHAR;
$opt = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
self::$connection = new PDO($dsn, DB_USER, DB_PASS, $opt);
} catch (PDOException $error) {
echo $error->getMessage();
die();
}
}
return self::$connection;
}
public static function run($sql, $params = [])
{
$query = self::connection()->prepare($sql);
if (array_key_exists(0, $params)) {
$i = 1;
foreach ($params as $value) {
$query->bindValue($i++, $value, self::type($value));
}
} else {
foreach ($params as $key => $value) {
$query->bindValue($key, $value, self::type($value));
}
}
$query->execute();
return $query;
}
public static function type($value)
{
if (is_int($value)) {
$type = PDO::PARAM_INT;
} elseif (is_string($value) || is_float($value)) {
$type = PDO::PARAM_STR;
} elseif (is_bool($value)) {
$type = PDO::PARAM_BOOL;
} elseif (is_null($value)) {
$type = PDO::PARAM_NULL;
} else {
$type = false;
}
return $type;
}
}
ждём от ТС следующего вопроса, как её юзать

Как её юзать?

Еженедельная рубрика на бумасе: pdo и mysqli
Какая разница если у тебя все равно говно код?
Какая разница если у тебя все равно говно код?
Dizzy221 (15.03.2019 в 09:55)
Еженедельная рубрика на бумасе: pdo и mysqli
Какая разница если у тебя все равно говно код?
Еженедельная рубрика на бумасе: pdo и mysqli
Какая разница если у тебя все равно говно код?
+
DenSBK, у меня есть очень простая обёртка проще некуда) будет что то типо
query("SELECT * FROM user WHERE id = ? ", array($id));
Это ПДО пиши в лс дам
query("SELECT * FROM user WHERE id = ? ", array($id));
Это ПДО пиши в лс дам
PhpStorm,
Вы не можете пользоваться почтой, так как Вы не набрали 10 рейтинга
___________________
не могу ничего ответить...токо в коментак писать есть возможность! бл...
маякни на ватсап +7 924 100 83 13 дедо к тебе есть на миллион!))) помощь кодера нужна
Вы не можете пользоваться почтой, так как Вы не набрали 10 рейтинга
___________________
не могу ничего ответить...токо в коментак писать есть возможность! бл...
маякни на ватсап +7 924 100 83 13 дедо к тебе есть на миллион!))) помощь кодера нужна

DELETED
15 марта 2019, в 11:35
Delete
client465 (15.03.2019 в 10:27)
PhpStorm,
Вы не можете пользоваться почтой, так как Вы не набрали 10 рейтинга
___________________
не могу ничего ответить...токо в коментак писать есть возможность! бл...
маякни на ватсап +7 924 100 83 13 дедо к тебе есть на миллион!))) помощь кодера нужна
PhpStorm,
Вы не можете пользоваться почтой, так как Вы не набрали 10 рейтинга
___________________
не могу ничего ответить...токо в коментак писать есть возможность! бл...
маякни на ватсап +7 924 100 83 13 дедо к тебе есть на миллион!))) помощь кодера нужна
deepin.mailbox@gmail.com

DELETED
15 марта 2019, в 11:49
Delete
Jquery (15.03.2019 в 09:44)
PhpStorm (11.02.2019 в 17:17)
Сибирский (11.02.2019 в 17:13)
PhpStorm, вот что Вы за язва, Артём Анатольевич, парень с добрыми помыслами, никому насрать не сказал, а Вы вот так вот ))))
тема звучит так: наблюдаю геморрой при написании подготовленных запросов, особенно при бинде параметров, но страх как хочется заюзать PDO, поэтому дайте мне обёртку
даю
ждём от ТС следующего вопроса, как её юзать
Как её юзать?
PhpStorm (11.02.2019 в 17:17)
Сибирский (11.02.2019 в 17:13)
PhpStorm, вот что Вы за язва, Артём Анатольевич, парень с добрыми помыслами, никому насрать не сказал, а Вы вот так вот ))))
тема звучит так: наблюдаю геморрой при написании подготовленных запросов, особенно при бинде параметров, но страх как хочется заюзать PDO, поэтому дайте мне обёртку
даю
<?php
class MySQL
{
protected static $connection = null;
public static function connection()
{
if (self::$connection === null) {
try {
$dsn = 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=' . DB_CHAR;
$opt = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
self::$connection = new PDO($dsn, DB_USER, DB_PASS, $opt);
} catch (PDOException $error) {
echo $error->getMessage();
die();
}
}
return self::$connection;
}
public static function run($sql, $params = [])
{
$query = self::connection()->prepare($sql);
if (array_key_exists(0, $params)) {
$i = 1;
foreach ($params as $value) {
$query->bindValue($i++, $value, self::type($value));
}
} else {
foreach ($params as $key => $value) {
$query->bindValue($key, $value, self::type($value));
}
}
$query->execute();
return $query;
}
public static function type($value)
{
if (is_int($value)) {
$type = PDO::PARAM_INT;
} elseif (is_string($value) || is_float($value)) {
$type = PDO::PARAM_STR;
} elseif (is_bool($value)) {
$type = PDO::PARAM_BOOL;
} elseif (is_null($value)) {
$type = PDO::PARAM_NULL;
} else {
$type = false;
}
return $type;
}
}
ждём от ТС следующего вопроса, как её юзать

Как её юзать?

<?php
// подключение
define('DB_HOST', '');
define('DB_NAME', '');
define('DB_CHAR', 'utf8mb4');
define('DB_USER', '');
define('DB_PASS', '');
spl_autoload_register(function ($class) {
require_once "путь_к_классу/{$class}.php";// если класс MySQL находится в одной папке с файлом, где он подключается, то путь_к_классу/ указывать не нужно
});
// пример использования
$data = MySQL::run('select login from users where email = ? limit 1', [$_POST['email']])->fetchObject();
if (is_object($data)) echo $data->login;
pdo
