Программирование

В данном разделе хочу поделиться своим небольшим опытом программирования на PHP. Надеюсь кому‑то опубликованные здесь материалы окажутся полезными.

Ошибка MySQL 1093: Can't specify target table for update in FROM clause

Получил такую ошибку при выполнении SQL запроса со вложенным подзапросом следующего вида.

UPDATE table_name
	SET col = (SELECT col FROM table WHERE id = :x)
	WHERE id = :y

Причина ошибки довольно проста, MySQL не даст обновить ту же самую таблицу, из которой происходит чтение. Проблему можно решить парой способов.

Событие после отправки формы, или некоторые тонкости метода submit

Потребовалось тут однажды выполнить редирект средствами JavaScript, аккурат после отправки формы. Поскольку никакого события типа AfterSubmit в природе не существует, вешаем с помощью JQuery обработчик на событие submit, и будем делать всё в этой функции.

$('#myform').submit(function(e) {
	this.submit();
	window.location.href = 'http://example.com/';
});

Казалось бы, чего проще, и в опере все работало отлично. Однако запустив код в Chrome обнаружил непонятную вещь, редирект успешно проходил, а на сервер ничего не отправлялось.

Биндинг неопределенного числа параметров к запросу MySQL

Использование параметризованных запросов в MySQL позволяет практически исключить возможность взлома вашего сайта при помощи SQL-инъекции. Не нужно вспоминать про экранирование кавычек и прочие прелести подстановки переменных в запрос, знай себе подавай параметры в функцию bind_params.

Однако периодически возникает небольшая проблема: что делать, если запрос строится динамически, и число параметров заранее неизвестно.

Как убрать поле «Сайт» в комментариях WordPress

Зачем это может понадобиться? В основном для защиты от спама, поскольку множество комментариев оставляется исключительно с целью бросить ссылку на свой сайт.

Оставить комментарий в WordPress

Как включить отображение ошибок PHP

При отладке готового сайта на сервере просто необходимо бывает включить вывод ошибок PHP. Мало ли что может вылезти, так лучше ознакомиться с этим заранее. Ну, или узнать почему же вроде рабочий сайт вдруг не запускается на сервере.

Сделать это не сложно, просто добавьте следующие строки в файл .htaccess в корне сайте.

Проверка числовых параметров в PHP

Адресная строка топика на Рутрекере

То, что параметры в PHP надо фильтровать, думаю знают все. Наиболее распространённая задача — фильтрация числовых параметров, которые в большинстве своём являются целыми числами, и в подавляющем большинстве еще и числами натуральными, то есть большими нуля. Хочу поделиться своим способом проверки на натуральные числа, может кому-то он покажется более удобным, чем его собственный.

создание сайтов королёв. курсы вождения для тех у кого есть права, сао свао цао