
Александр
03.07.2018
11:46:22

Bohdan
03.07.2018
11:46:30
здоровенный ииинт

Maksim
03.07.2018
11:46:31

Александр
03.07.2018
11:46:33
php как прокся

Google

Maksim
03.07.2018
11:46:57
у любителей обмазаться ораклом всегда особый взгляд на происходящее)

Sergey
03.07.2018
11:47:03

Vitaly
03.07.2018
11:47:15
php как прокся
Ну почему бы тогда эту проксю не положить на отдельный сервер где 64?

Александр
03.07.2018
11:47:44
Не завёдтся
Если oracle 86, то и php тоже должна быть 86

Vitaly
03.07.2018
11:48:47

Александр
03.07.2018
11:51:05
Ну у нас 11g, там только так

Sergey
03.07.2018
11:51:06

Александр
03.07.2018
11:51:19
Да много чего не работает так как надо

Sergey
03.07.2018
11:51:31
то есть у тебя в oracle инты тоже 32 бита и ты хочешь волшебным образом что бы было больше?
NUMBER(19)
опять же - PDO и выставить тип
как дети

Google

Sergey
03.07.2018
11:52:22
если не выйдет - сорян, у тебя проблема не на стороне php

Александр
03.07.2018
11:53:11
Не используем PDO, написали свой велосипед

Sergey
03.07.2018
11:53:31
ну так страдайте

Maksim
03.07.2018
11:54:02
энтерпрайз...)

Александр
03.07.2018
11:54:37
$data = DB::procedure('getNews', ['id' => 1]);
Вот так всё общение идёт с базой

Shaun
03.07.2018
12:29:49

Sergey
03.07.2018
12:33:38
почитай документацию как этот драйвер позволяет bigint в php пересылать
и обратно

Александр
03.07.2018
12:34:54

Evgeniy
03.07.2018
12:42:53

Sergey
03.07.2018
12:43:08

Maksim
03.07.2018
12:44:23
когда летят заявления о том, что pdo генерит не то, что надо, это вызывает ряд сомнений

Evgeniy
03.07.2018
12:44:57
а еще меня очень доставляет вот это
$sth = $pdo->prepare(select 1);
var_dump($sth->fetch()[0]); // угадай тут число или строка )
а mysqli вернет int
но вот если опцию у PDO ATTR_EMULATE_PREPARES сменить на false
то все заработает ожидаемо
это речь за mysql

Google

Dmitry
03.07.2018
12:47:01
а зачем вообще эмуляцию включать?

Maksim
03.07.2018
12:47:01
наверное, разница в том, как работают prepared statement у mysqli и pdo

Sergey
03.07.2018
12:47:09
PDO под копотом разве не одну и ту же библиотеку для mysql юзает?

Evgeniy
03.07.2018
12:47:17

Maksim
03.07.2018
12:47:20

Evgeniy
03.07.2018
12:47:39
для sqlite где их нет вроде
но поддерживать их надо

Dmitry
03.07.2018
12:48:21
ну и чо, руки и голова то на что

Evgeniy
03.07.2018
12:48:22
и по умолчанию он эмулирует и в бд отсылает адок)
но это так специфичная штука надо просто знать какие опции передернуть
я например ее отключаю ну и ERR_MODE меняю на EXCEPTION этот минимум

Evgeniy
03.07.2018
12:49:23
могу еще fetch mode сменить
а еще неприятно то что можно эти опции передергивать в процессе использования драйвера
отправил объект с err_mode exception а он взял на silent переставил ведь объект не имутабельный(
а еще неприятно что pdo это класс а не интерфейс, а всякие pdo_mysql и тд его бы просто реализовали и наследовались от кого хотели
но это пхп стиснул зубы и пиши код

Maksim
03.07.2018
12:52:55
странный наброс)

Evgeniy
03.07.2018
12:53:24
ну я просто имхо выразил по пдошечки, но я возвращаться во времена mysql_* не хочу))
я лучше своими костыльми до костылю pdo чтобы он стал имутабельный

Google

Maksim
03.07.2018
12:54:07
при реальном использовании у pdo нет ни единой из перечисленных проблем)
но если прям так хочется и у тебя каким-то чудом мускуль, то есть mysqli

Evgeniy
03.07.2018
12:54:14
сделаю интерфейс (или возьму у доктрины dbal) для драйвера)
методы_с_таким_именованием

Maksim
03.07.2018
12:54:54

Admin
ERROR: S client not available

Evgeniy
03.07.2018
12:55:02
так я о нем и говорю

F01134H
03.07.2018
12:55:10

Maksim
03.07.2018
12:55:33
логика в dto?

F01134H
03.07.2018
12:55:50
VO и DTO - наличие в первом логики
VO

Evgeniy
03.07.2018
12:56:23
dto это как массив только со свойствами или методами )))

Maksim
03.07.2018
12:56:30
так я о нем и говорю
скорее всего, что бы хомячки не учили отдельно 2 контракта. я аще не особо понимаю, зачем добавили ОО версию.

Evgeniy
03.07.2018
12:56:53
типо за хайпом наверно

Maksim
03.07.2018
12:57:38
она была в первую очередь заменой mysql для поддержки ps. А нахера там оо стиль вспихнули - хз) добавить ещё солняки в стд пхп

Evgeniy
03.07.2018
12:58:25
ну да без ps было туго

Maksim
03.07.2018
12:58:31
у mysqli неудобный биндинг (хотя, если к нему привыкнуть, норм заходит). А так, в целом он мне больше нравится, чем pdo)

Evgeniy
03.07.2018
12:58:51
мне тоже биндинг не нравиться у mysqli
я везде pdo юзаю ))

Google

Evgeniy
03.07.2018
12:59:13
ну или то что над ним, по умолчанию многое через pdo работает

Maksim
03.07.2018
13:00:50
если мне надо набросать чё-нить простенькое и без всяких дбалов, беру mysqli.
другой вопрос, что я мускуль в руках не держал уже пару лет...

Evgeniy
03.07.2018
13:01:04
а еще мне нравиться именновыне place holders

Maksim
03.07.2018
13:01:27
ну если ты отключаешься эмуляцию и шлёшь именованные, то у меня для тебя плохие новости)

Evgeniy
03.07.2018
13:01:50
оно работает )
я тоже думал что незаработает

Maksim
03.07.2018
13:08:10
хм) надо же, научились)

Evgeniy
03.07.2018
13:09:46
иновации

Bohdan
03.07.2018
13:17:31

Maksim
03.07.2018
13:17:46


Artur
03.07.2018
17:58:27
Добрый день, подскажите после добавления к адресу страницы utm-меток через компоновщик url, при переходе по ссылке с метками отображается 404 , с этим разобрался оказывается проблемма была в коде - при не соответствии запрашиваемой страницы с БД кидает на 404 страницу по default - пот пример
$action = isset( $action ) ? $action : "";
switch ( $action ) {
case 'category':
category();
break;
case 'product':
product();
break;
case 'page':
page();
break;
case 'search':
search();
break;
case 'news':
news();
break;
case 'gallery':
gallery();
break;
case 'home':
homepage();
break;
default:
error404();
}
function news(){
global $translation;
global $news_id;
global $mwdb;
global $title;
global $meta_description;
global $language;
if ( !isset($news_id) || !$news_id ) {
error404();
return;
}
$news_id = $mwdb->real_escape_string($news_id);
$result_news = $mwdb->query("SELECT * FROM news WHERE news_id=$news_id");
if(mysqli_num_rows($result_news)>0){
$array_news = mysqli_fetch_array($result_news);
if($language == 'ru'){
$title = $array_news['news_title'];
$meta_description = trim(strip_tags(str_replace(" ","",$array_news['news_content'])));
}
else{
$result_news_ru = $mwdb->query("SELECT news_title_en,news_content_en FROM news_translation WHERE news_id=$news_id");
$row_news_ru = mysqli_fetch_array($result_news_ru);
$title = $row_news_ru['news_title_en'];
$meta_description = trim(strip_tags(str_replace(" ","",$row_news_ru['news_content_en'])));
}
require( TEMPLATE_PATH . "/news.php" );
}
}
function error404(){
global $translation;
global $language;
global $title;
global $meta_description;
if($language=='ru'){
$title = 'Страница не найдена';
$meta_description = 'Страница не найдено на сайте';
}
else{
$title = 'Page not found';
$meta_description = 'Page not found in site';
}
require( TEMPLATE_PATH . "/404.php" );
}
Подскажите что нужно прописать, чтобы можно было добавлять к url utm-метки


Bohdan
03.07.2018
18:01:38
я тебя разочарую: здесь почти те же люди
выложи код на какой - либо гист как минимум

Artur
03.07.2018
18:04:18

Alexandr
04.07.2018
06:34:38
Есть база данных с абонентами, какое поле лучше сделать для сохрания оплатил пользователь доступ или нет?

Андрей
04.07.2018
06:39:44
Зависит от требований. Пользователь платит один раз или за промежуток времени?