• Нужно принять архитектурное решение по проекту…?

    taliban
    @taliban
    php программист
    Щас вы наслушаетесь кучу архитектурных решений и еще больше запутаетесь =) Сколько людей, столько и решений!
    Но исходя из своего опыта могу посоветовать сделать пару вещей:
    1. не выдумывайте ничего лишнего и не усложняйте код
    2. если проект долгосрочный, всеравно будете рефакторить, поэтому делайте слабое связывание, потом проще будет кусками небольшими править
    3. если не много времени, используйте те инструменты которые лучше знаете, даже если есть в 100 раз круче и весь мир их советует =)
    Не бывает четких и глобальных архитектурных решений.
    Ответ написан
    1 комментарий
  • PDO. exec + query = exception?

    weirdan
    @weirdan
    C exec по простому не получится, поскольку exec вызывает mysql_affected_rows() раньше, чем mysql_store_result() (см github.com/php/php-src/blob/master/ext/pdo_mysql/mysql_driver.c#L256), в то время как документация к libmysql говорит, что в случае, если предыдущий запрос был селектом и mysql_store_result() еще не была вызвана, результатом всегда будет -1 (признак ошибки). Таким образом со стороны сервера остается невычитанный резалтсет (что не дает работать последующим запросам), а mysql_handle_doer() выходит, не доходя до mysql_store_result().

    Единственный очевидный способ — пересоздать соединение: $db = null; $db = new PDO(...), поскольку PDO не предоставляет метод disconnect()
    Ответ написан
    1 комментарий