Принцип работы autoincrement, primary key полей, типа id в таблицах, где часто добавляются и удаляются записи таков:
- как только достигается предельное значение автоинкримента MySql начинает занимать освободившиеся значения id начиная с нуля.
Архив рубрики: на добрую память
Решение проблемы кодировки в связке PHP+MySQL
Дано:
база MySQL с полем VarChar в кодировке utf_general_ci
скрипт php, который должен дёргаться кроном
Итак, проблема состояла в том, что при извлечение из базы текста $text он вместо русских букв отображал кракозябры (не вопросы!), английские же были в нормальном состоянии. Покурив мануалы и форумы пришел к выводу, что косячит PHP.
Как решилась проблема:
в файлик .htaccess в директории со скриптами дописал строчку :
AddDefaultCharset utf-8
в скрипте после подключения базы вызвал у неё:
SET NAMES utf8
И заработало блин! =)
system, nohup и параметры
Появилась задача: запускать через nohup скрипт в несколько потоков, при этом передавая ему несколько параметров
Выглядело это примерно так:
system(«nohup ./scriptName 10 $strParam», $retval);
Только проблема в том, что принимается только один параметр, попытки сделать так:
system(«nohup ./scriptName 10 $strParam $nextParam», $retval);
ни к чему не приводили, параметр не передавался.
Кроме того, методом научного тыка было установлено, что $strParam приводится к String, т.о. если передавать допустим массив, то в scriptName вместо массива придет строка («Array»).
Пришлось выкрутиться так:
$strParam = $firstParam.»###».$secondParam;
А потом в scriptName делать сплит строки:
$params = split(«###»,$argv[1]);
Кстати, параметры работы nohup передает в scriptName в виде массива $argv.