|
|
|
| Заставляют меня переползать на PDO, а мне кажется, что запутанней в PHP ничего просто нет!
Подскажите хорошую простую обёртку доя PDO, класс или фреймворк! | |
|
|
|
|
|
|
|
для: Eugene77
(04.10.2014 в 11:02)
| | О_о и что же в нем запутанного? достаточно только понять как работают методы query, prepare, execute, fetch, fetchAll, fetchColumn, rowCount и всё чтобы начать использовать PDO. пишите сюда какие конкретно вещи вы не понимаете, попробуем разобраться | |
|
|
|
|
|
|
|
для: psychomc
(04.10.2014 в 11:51)
| | Не могу, например, сообразить как на PDO вставить одним запросом сразу 100-200 строк.
Данные приходят через POST или GET и существуют в виде 7 массивов a[], b[], c[], d[] итд. с числовыми индексами, которые одинаковы для тех элементов, которые должны образовывать одну строку. | |
|
|
|
|
|
|
|
для: Eugene77
(05.10.2014 в 14:25)
| | очень странно, что возникла такая проблема. элементарно
<?php
$arr = [
'field1'=>[
0=>1, 1=>2, 2=>3, 3=>4,
],
'field2'=>[
0=>10, 1=>11, 2=>12, 3=>13,
]
];
$query = "INSERT INTO tab (field1, field2) VALUES\n";
$values = [];
$params = [];
foreach ($arr['field1'] as $key=>$field1) {
$field2 = $arr['field2'][$key];
$values[] = "(?,?)\n";
$params[] = $field1;
$params[] = $field2;
}
$query .= implode(',', $values);
$sth = $pdo->prepare($query);
$sth->execute($params);
|
более того, если не нравится использовать подготовленные запросы, вместо prepare и execute можно использовать метод query и подставлять в него параметры напрямую с помощью метода quote (аля mysql_real_escape_string, только еще и сам добавляет кавычки). хотя лучше использовать prepare/execute. в общему курите мануал | |
|
|
|
|
|
|
|
для: psychomc
(05.10.2014 в 15:46)
| | Вы, вероятно, имели в виду:
$sth->$pdo->execute($params);
| ?
Спасибо, что показали мне вариант!
Действительно, код получается достаточно ясный и прозрачный.
Так с вашей помощью, я ещё и пристращусь к этому PDO! | |
|
|
|
|
|
|
|
для: Eugene77
(05.10.2014 в 16:50)
| | нет, метод execute содержится в объекте $sth типа PDOStatement. давно уже пора слазить с унылого и устаревшего mysql_ и использоваться современные актуальные решения. | |
|
|
|