ошибка в коде

Программирование, которое не связано с API и Flash.

ошибка в коде

Сообщение Fedya » 28 июл 2012, 18:45

Здравствуйте!
  1. mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
  2. mysql_select_db($dbName) or die (mysql_error());
  3. $cdate = date("Y-m-d G:i:s");
  4. $h=mysql_query("SELECT vkid, data FROM $table");
  5. $qwe = mysql_fetch_array($h);
  6. if ($qwe['vkid'] == $uid)
  7. {
  8. mysql_query("UPDATE $table SET data='$cdate' WHERE data='$qwe['data']'") or die(mysql_error());
  9. }
  10. else
  11. {
  12. $query = "INSERT INTO $table SET vkid='$uid', data='$cdate'";
  13. mysql_query($query) or die(mysql_error());
  14. }

не понимаю, почему не работает


$qwe['vkid'] - id пользователя в базе
$uid - id пользователя на сайте
$cdate - новая дата
$qwe['data'] - старая дата
Fedya

 
Автор темы
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56
Благодарил (а): 22 раз.
Поблагодарили: 6 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: ошибка в коде

Сообщение Fedya » 28 июл 2012, 18:56

Без отбора работает отлично
  1.  
  2. mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
  3. mysql_select_db($dbName) or die (mysql_error());
  4. $cdate = date("Y-m-d G:i:s");
  5. $query = "INSERT INTO $table SET vkid='$uid', data='$cdate'";
  6. mysql_query($query) or die(mysql_error());
  7.  



_______________________
Мне кажется проблема вот в этом

но я не знаю как по другому сделать, я знаю, что с этой фигнюшкой надо брать так
  1.  
  2. while ($qwe = mysql_fetch_array($h)) {
  3. бла бла бла
  4. }
  5.  

но так он будет изменять столько раз, сколько столбцов в базе ,а это хрень какая-то)
Fedya

 
Автор темы
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56
Благодарил (а): 22 раз.
Поблагодарили: 6 раз.

Re: ошибка в коде

Сообщение Serge » 28 июл 2012, 21:19

Какой-то стремный скрипт.
Надо через while, оно идет не по столбикам, а по строкам, которые в результате. Если Вы уверен, что в результате одна строка - используйте mysql_fetch_assoc
http://sevenlines.com.ua - разработка и продвижение сайтов
Serge
WEB Team
WEB Team
 
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55
Благодарил (а): 2 раз.
Поблагодарили: 65 раз.

Re: ошибка в коде

Сообщение Fedya » 28 июл 2012, 21:30

Читал, что это не важно,
вообще скрипт выдает ошибку 500, может просто запятой где не хватает?
Fedya

 
Автор темы
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56
Благодарил (а): 22 раз.
Поблагодарили: 6 раз.

Re: ошибка в коде

Сообщение Fedya » 28 июл 2012, 21:41

  1. $cdate = date("Y-m-d G:i:s");
  2. $h=mysql_query("SELECT vkid, data FROM $table");
  3. $res = mysql_fetch_array($h);
  4. while ($qwe = mysql_fetch_array($res)) {
  5. if ($qwe['vkid'] == $uid)
  6. {
  7. mysql_query("UPDATE $table SET data='$cdate' WHERE data='$qwe['data']'") or die(mysql_error());
  8. }
  9. else
  10. {
  11. $query = "INSERT INTO $table SET vkid='$uid', data='$cdate'";
  12. mysql_query($query) or die(mysql_error());
  13. }
  14. }


все равно ошибка.

если не понятно, то, я хочу, чтобы,
если id пользователя на сайте == id пользователю из базы,
то просто измени время посещения у этого пользователя,
если этого id нету в базе, то запиши его id + время посещения в базу
Fedya

 
Автор темы
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56
Благодарил (а): 22 раз.
Поблагодарили: 6 раз.

Re: ошибка в коде

Сообщение Fedya » 28 июл 2012, 21:44

Нашел ошибку,
  1. mysql_query("UPDATE $table SET data='$cdate' WHERE data='$qwe['data']' ") or die(mysql_error());

в этой строке как-то неправильно записано
Fedya

 
Автор темы
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56
Благодарил (а): 22 раз.
Поблагодарили: 6 раз.

Re: ошибка в коде

Сообщение Fedya » 28 июл 2012, 22:06

WHERE data='{$qwe[data]}'
все, спасибо, за помощь)
Fedya

 
Автор темы
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56
Благодарил (а): 22 раз.
Поблагодарили: 6 раз.

Re: ошибка в коде

Сообщение Serge » 28 июл 2012, 23:26

Fedya писал(а):все равно ошибка.

если не понятно, то, я хочу, чтобы,
если id пользователя на сайте == id пользователю из базы,
то просто измени время посещения у этого пользователя,
если этого id нету в базе, то запиши его id + время посещения в базу

Тогда вам проще посмотреть в сторону
Как-то так.
http://sevenlines.com.ua - разработка и продвижение сайтов

За это сообщение автора Serge поблагодарил:
Fedya
Serge
WEB Team
WEB Team
 
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55
Благодарил (а): 2 раз.
Поблагодарили: 65 раз.


Вернуться в Программирование на PHP и других языках (без использования API)



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0