PHP.SU

Программирование на PHP, MySQL и другие веб-технологии PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Пользователи Пользователи


 Страниц (4): « 1 2 3 [4]   

> Без описания
WiciN
Отправлено: 04 Марта, 2009 - 00:41:00
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Нояб. 2007  
Откуда: Симферополь






valenok пишет:
http://phpfaq.ru/debug
Убрал бы ты собачку и php наверняка сам выдал бы тебе ответ.


Я пробовал, и с собачкой и без, результат один и тот же.
Но так как я не совсем понимаю для чего она нужна и даже не помню по какой причине её ставил, я её убрал. Включил все ошибки. Было парочку, связанных с переменными undefined, а с БД ошибок не выдаёт.

Всё равно не могу понять в чем тут прикол, вот ссылка на эту страницу http://w-studio.in.ua/count/reffer.php (она же и сохраняет переходы)

Ошибки включены
ini_set('display_errors',1);
error_reporting(E_ALL);

(Отредактировано автором: 04 Марта, 2009 - 01:04:10)

-----
Настоящий программист должен иметь быстрые руки, грязную голову и холодное пиво.

 
 Top
Champion Супермодератор
Отправлено: 04 Марта, 2009 - 09:02:02
Post Id



Эксперт


Покинул форум
Сообщений всего: 3426
Дата рег-ции: Авг. 2008  
Откуда: Москва






echo "UPDATE reffer SET all=all+1 WHERE url='$reffer'";

и руками выполняем
 
 Top
EuGen Администратор
Отправлено: 04 Марта, 2009 - 10:43:22
Post Id



Профессионал


Покинул форум
Сообщений всего: 2556
Дата рег-ции: Июнь 2007  
Откуда: Moscow






mysql_error()
 
 Top
WiciN
Отправлено: 04 Марта, 2009 - 12:36:27
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Нояб. 2007  
Откуда: Симферополь






EuGen пишет:
mysql_error()

mysql_error(); тоже включено, и как видите ошибки не выдаёт.
Вот такой запрос выводит echo:
UPDATE reffer SET all=all+1 WHERE url='http://w-studio.in.ua/'

Вставлено перед самой строкой mysql_query
PHP:
скопировать код в буфер обмена
  1. {
  2. echo "UPDATE reffer SET all=all+1 WHERE url='$reffer'";
  3. mysql_query("UPDATE reffer SET all=all+1 WHERE url='$reffer'"); mysql_error();
  4. }

Вполне нормальный, ничего глючного я тут не вижу.
Может быть, что дело в самой таблице?

Вот достал структуру таблицы:
CODE (text):
скопировать код в буфер обмена
  1. Структура таблицы `reffer`
  2. --
  3.  
  4. CREATE TABLE `reffer` (
  5.   `id` int(10) NOT NULL auto_increment,
  6.   `title` tinytext,
  7.   `url` tinytext,
  8.   `rel` tinyint(1) default '0',
  9.   `all` int(10) default '0',
  10.   PRIMARY KEY  (`id`)
  11. ) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=20 ;

(Отредактировано автором: 04 Марта, 2009 - 12:51:00)

-----
Настоящий программист должен иметь быстрые руки, грязную голову и холодное пиво.

 
 Top
EuGen Администратор
Отправлено: 04 Марта, 2009 - 13:19:30
Post Id



Профессионал


Покинул форум
Сообщений всего: 2556
Дата рег-ции: Июнь 2007  
Откуда: Moscow






0. Что mysql_error показывает?
1. Значение всех переменных, участвующих в запросе, через var_dump
2. http://phpfaq.ru/debug
 
 Top
Champion Супермодератор
Отправлено: 04 Марта, 2009 - 13:21:18
Post Id



Эксперт


Покинул форум
Сообщений всего: 3426
Дата рег-ции: Авг. 2008  
Откуда: Москва






SELECT * FROM reffer WHERE url='http://w-studio.in.ua/'; что дает, если руками?
WiciN пишет:
Вполне нормальный, ничего глючного я тут не вижу.
Может быть, что дело в самой таблице?
Руками выполняли?
 
 Top
WiciN
Отправлено: 04 Марта, 2009 - 13:24:58
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Нояб. 2007  
Откуда: Симферополь






EuGen пишет:
0. Что mysql_error показывает?
1. Значение всех переменных, участвующих в запросе, через var_dump
2. http://phpfaq.ru/debug


1-mysql_error(); - ничего не показывает, переменная участвует только одна, и запрос получается нормальный: UPDATE reffer SET all=all+1 WHERE url='http://forum.php.su/'

2. http://phpfaq.ru/debug - читал и перепробовал, самому найти ошибку не получается.
Не имею привычки просто так писать на форумах, в гостевых и на заборах.
(Добавление)
Champion пишет:
SELECT * FROM reffer WHERE url='http://w-studio.in.ua/'; что дает, если руками?


Выдаёт строку, в которой url = заданному, всё нормально работает, а вот при обновлении матюкается на синтаксис, а если поубирать кавычки, то all - подсвечивается как зарезервированное слово, возможно в этом и причина, сейчас попробую
(Добавление)
УРА, спасибо всем, заработало, теперь буду намного аккуратней с названиями полей

(Отредактировано автором: 04 Марта, 2009 - 13:35:41)

-----
Настоящий программист должен иметь быстрые руки, грязную голову и холодное пиво.

 
 Top
EuGen Администратор
Отправлено: 04 Марта, 2009 - 14:02:28
Post Id



Профессионал


Покинул форум
Сообщений всего: 2556
Дата рег-ции: Июнь 2007  
Откуда: Moscow






Ну вот, хорошо значит.
 
 Top
WiciN
Отправлено: 14 Марта, 2009 - 11:29:28
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Нояб. 2007  
Откуда: Симферополь






У меня опять вопрос!
Решил сделать отправку отчета за сутки на e-mail. Сделаю я это так: при запуске счётчика проверяется время, если следующие сутки уже наступили, то запускается скрипт который генерирует письмо и собственно отправляет его.

Возможно ли как то сделать это по другому, более правильно. В моем варианте если не будет посетителей, то и скрипт не запустится. А хотелось бы чтоб строго раз в сутки отправлял, не зависимо от посетителей.

-----
Настоящий программист должен иметь быстрые руки, грязную голову и холодное пиво.
 
 Top
Champion Супермодератор
Отправлено: 14 Марта, 2009 - 11:32:56
Post Id



Эксперт


Покинул форум
Сообщений всего: 3426
Дата рег-ции: Авг. 2008  
Откуда: Москва






Возможно сунуть скрипт в шедьюлер или крон, соответственно в Винде или *никсе.
(Добавление)
http://ru.wikipedia.org/wiki/Cron
http://www.iopus.com/guides/winscheduler.htm
Первое, что нашел, но вроде написано понятно
 
 Top
WiciN
Отправлено: 14 Марта, 2009 - 12:01:32
Post Id



Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Нояб. 2007  
Откуда: Симферополь






Champion пишет:
Возможно сунуть скрипт в шедьюлер или крон, соответственно в Винде или *никсе.
(Добавление)
http://ru.wikipedia.org/wiki/Cron
http://www.iopus.com/guides/winscheduler.htm
Первое, что нашел, но вроде написано понятно


Тема для меня абсолютно новая, но суть уже понятна, разберусь, появился другой вопрос. Везде написано, что всё это дело настраивается через crontab (Windows хостинг пока не интересует). Возможно ли добавить задание рассылать письма раз в сутки средствами php (не трогая панель управления хостингом)? Например во время работы файла install.php который создаёт таблицы в БД. А ещё лучше, чтоб из админки можно было редактировать время отправки. Сам файл с новым расписанием средствами php я создам, а вот как пишется "дать приказ демону cron перечитать готовый файл" - как это сделать не обращаясь к панели управления хостингом?

-----
Настоящий программист должен иметь быстрые руки, грязную голову и холодное пиво.
 
 Top
EuGen Администратор
Отправлено: 14 Марта, 2009 - 13:13:34
Post Id



Профессионал


Покинул форум
Сообщений всего: 2556
Дата рег-ции: Июнь 2007  
Откуда: Moscow







Но. Для исполнения этой команды нужны права пользователя, которому принадлежит соответствующий кронтаб. Для правки тоже. Не думаю, что с точки зрения безопасности это хорошая идея.
 
 Top
Страниц (4): « 1 2 3 [4]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




 
Powered by ExBB FM 1.0 RC1. InvisionExBB