А как-то можно проверить, что транзакция работает? Если тип таблицы InnoDB, она точно запускается?:)
я так и делаю, но кэш баланса хочется тоже правильно обновлять:)
да баланс то в одной, ну я приведу конкретный пример, когда сам разберусь со структурой:)
Про UPDATE я знаю, а я говорю, что когда несколько таблиц и нельзя все запихнуть в один запрос, то лучше использовать транзакцию, чтобы не было изменений строчки между запросами.
Как это в InnoDB она блокируется? Хотите сказать, что тут
SELECT * FROM users WHERE id=:id UPDATE users SET balance=:balance WHERE id=:id
между первым и вторым запросом не может выполниться параллельно другой?
Транзакция это типа такого?
query("START TRANSACTION"); query("..."); query("COMMIT");
почему же? ведь речь идет о моем сайте, который я делал, когда только начал работать с PHP и MySQL. По-моему, даже у супер крутых программистов были времена плохого кодинга
не сможете. То, что Вы сейчас сделали - это шаблон. Поэтому я бы назвал это не добавлять php-функции к этому шаблону, а добавить этот шаблон к фреймворку/CMS. А вообще, моя рекомендация (это мое личное мнение) - начинайте сразу писать программный код, сделайте свой мини-фреймворк, пусть даже без ООП, научитесь структурировать данные. На основе своего опыта я Вам скажу следующее: когда-то я сделал сайт на простейшем самописном движке (я тогда только начинал), там даже запросы к SQL были простейшие, думал, потом сделаю upgrade, однако, уже 5 лет никаких апгрейдов, хотя нужно, но исправлять кучу такого кода займет дни, а потом еще недели на исправление ошибок, проще с нуля все сделать.
Вообще, такой подход - сначала визуализация, потом программирование - это все началось с высокоуровневого программирования, например, на Delphi сначала форму рисуешь, а потом пишешь программный код под нее. А ведь раньше на ассемблере или Pascal под DOS начинать нужно было именно со структуры. Возможно, поэтому в игры под DOS до сих пор играют, а современные игры устаревают мгновенно, потому что в них интересная только графика.
http://ubuntism.ru/2011/03/fake-user-agent-in-firefox-chrome/
набирать вопрос проще, чем погуглить?:)
А как Вы считаете, если сделать такую возможность каким-нибудь вспомогательным классом, было бы это полезно?