Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: счетчик переходов ((
 
 автор: skor   (28.05.2006 в 21:27)   письмо автору
 
 

значит есть простенький счетчик переходов по ссылке.
считает переходы сегодня и переходы всего



<?
$DB_HOST 
"localhost";
$DB_USER "root";
$DB_PASS "";
$DB_NAME "test";

mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME);
$q = @mysql_query("SELECT 'link','out','out_all' FROM 'rate' WHERE id='".$id."';");
$data = @mysql_fetch_array($q);

$out $data['out']++;
$out_all $data['out_all']++;
$link $data['link'];

@
mysql_query("UPDATE 'rate' SET 'out'=$out, 'out_all'=$out_all  WHERE id=$id;");
header("Location: $link");
?>


на денвере работает нормалбно а но хосте нехочет нефига...
в таблице не увеличевается значение out и out_all
в чем тут может быть дело?

   
 
 автор: Ziq   (28.05.2006 в 21:38)   письмо автору
 
   для: skor   (28.05.2006 в 21:27)
 

Измените строчку

@mysql_query("UPDATE 'rate' SET 'out'=$out, 'out_all'=$out_all  WHERE id=$id;"); 

на

if(!@mysql_query("UPDATE 'rate' SET 'out'=$out, 'out_all'=$out_all  WHERE id=$id;")) exit(mysql_error());

И результат напишите сюда, так будет проще чем-то помочь.

   
 
 автор: Ziq   (28.05.2006 в 21:41)   письмо автору
 
   для: Ziq   (28.05.2006 в 21:38)
 

P.S. В SQL запросах, отсылаемых с помощью php, ; в конце можно и не ставить

   
 
 автор: skor   (28.05.2006 в 21:45)   письмо автору
 
   для: Ziq   (28.05.2006 в 21:41)
 

хм..
вот что выдало :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''rate' SET 'out'=0, 'out_all'=0 WHERE id=1' at line 1

   
 
 автор: Ziq   (28.05.2006 в 22:27)   письмо автору
 
   для: skor   (28.05.2006 в 21:45)
 

сразу не заметил...

нужно так

if(!@mysql_query("UPDATE rate SET out=$out, out_all=$out_all  WHERE id=$id;")) exit(mysql_error());


в запросах нельзя одинарными кавычками обрамлять названия полей.

P.S. Иногда используют особую кавычку ' (там где буква ё), если название поля соответствует ключевому слову языка SQL

   
 
 автор: skor   (29.05.2006 в 01:05)   письмо автору
 
   для: Ziq   (28.05.2006 в 22:27)
 

опять You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'out=0, out_all=0 WHERE id=24' at line 1

   
 
 автор: cheops   (29.05.2006 в 12:03)   письмо автору
 
   для: skor   (29.05.2006 в 01:05)
 

А у вас MySQL какой версии?

   
 
 автор: skor   (29.05.2006 в 12:45)   письмо автору
 
   для: cheops   (29.05.2006 в 12:03)
 

MySQL - 5.0.18-standard

   
 
 автор: skor   (30.05.2006 в 16:18)   письмо автору
 
   для: skor   (29.05.2006 в 12:45)
 

ну кто нибудь! помогите!

   
 
 автор: kadet_73   (30.05.2006 в 16:35)   письмо автору
 
   для: skor   (30.05.2006 в 16:18)
 

Попробуй вот так:


$res = mysql_query("UPDATE rate SET out='$out', out_all='$out_all' WHERE id='$id'");
 должно работать

   
 
 автор: kolobokk   (30.05.2006 в 16:40)   письмо автору
 
   для: skor   (30.05.2006 в 16:18)
 

Если есть таблица rate, то такой код должен работать на любом MySQL

<? 
$DB_HOST 
"localhost"
$DB_USER "root"
$DB_PASS ""
$DB_NAME "test"

mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error()); 
mysql_select_db($DB_NAME); 
$q = @mysql_query("SELECT link, out, out_all FROM rate WHERE id='".$id."'"); 
$data = @mysql_fetch_array($q); 

$out $data[out]++; 
$out_all $data[out_all]++; 
$link $data[link]; 

@
mysql_query("UPDATE rate SET out='$out', out_all='$out_all'  WHERE id='$id'"); 
header("Location: $link"); 
?> 


Обратите внимание на кавычки

   
 
 автор: skor   (30.05.2006 в 21:47)   письмо автору
 
   для: kolobokk   (30.05.2006 в 16:40)
 

спасибо щас попробую, о результатах сообщу ))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования