Страница 1 из 1
ошибка в коде
Добавлено: 28 июл 2012, 18:45
Fedya
Здравствуйте!
Код: Выделить всё
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");mysql_select_db($dbName) or die (mysql_error());$cdate = date("Y-m-d G:i:s");$h=mysql_query("SELECT vkid, data FROM $table");$qwe = mysql_fetch_array($h);if ($qwe['vkid'] == $uid){mysql_query("UPDATE $table SET data='$cdate' WHERE data='$qwe['data']'") or die(mysql_error());}else{$query = "INSERT INTO $table SET vkid='$uid', data='$cdate'";mysql_query($query) or die(mysql_error());}
не понимаю, почему не работает
$qwe['vkid'] - id пользователя в базе
$uid - id пользователя на сайте
$cdate - новая дата
$qwe['data'] - старая дата
Re: ошибка в коде
Добавлено: 28 июл 2012, 18:56
Fedya
Без отбора работает отлично
Код: Выделить всё
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");mysql_select_db($dbName) or die (mysql_error());$cdate = date("Y-m-d G:i:s");$query = "INSERT INTO $table SET vkid='$uid', data='$cdate'";mysql_query($query) or die(mysql_error());
_______________________
Мне кажется проблема вот в этом
но я не знаю как по другому сделать, я знаю, что с этой фигнюшкой надо брать так
Код: Выделить всё
while ($qwe = mysql_fetch_array($h)) {бла бла бла}
но так он будет изменять столько раз, сколько столбцов в базе ,а это хрень какая-то)
Re: ошибка в коде
Добавлено: 28 июл 2012, 21:19
Serge
Какой-то стремный скрипт.
Надо через while, оно идет не по столбикам, а по строкам, которые в результате. Если Вы уверен, что в результате одна строка - используйте mysql_fetch_assoc
Re: ошибка в коде
Добавлено: 28 июл 2012, 21:30
Fedya
Читал, что это не важно,
вообще скрипт выдает ошибку 500, может просто запятой где не хватает?
Re: ошибка в коде
Добавлено: 28 июл 2012, 21:41
Fedya
Код: Выделить всё
$cdate = date("Y-m-d G:i:s");$h=mysql_query("SELECT vkid, data FROM $table");$res = mysql_fetch_array($h);while ($qwe = mysql_fetch_array($res)) {if ($qwe['vkid'] == $uid){mysql_query("UPDATE $table SET data='$cdate' WHERE data='$qwe['data']'") or die(mysql_error());}else{$query = "INSERT INTO $table SET vkid='$uid', data='$cdate'";mysql_query($query) or die(mysql_error());}}
все равно ошибка.
если не понятно, то, я хочу, чтобы,
если id пользователя на сайте == id пользователю из базы,
то просто измени время посещения у этого пользователя,
если этого id нету в базе, то запиши его id + время посещения в базу
Re: ошибка в коде
Добавлено: 28 июл 2012, 21:44
Fedya
Нашел ошибку,
Код: Выделить всё
mysql_query("UPDATE $table SET data='$cdate' WHERE data='$qwe['data']' ") or die(mysql_error());
в этой строке как-то неправильно записано
Re: ошибка в коде
Добавлено: 28 июл 2012, 22:06
Fedya
WHERE data='{$qwe[data]}'
все, спасибо, за помощь)
Re: ошибка в коде
Добавлено: 28 июл 2012, 23:26
Serge
Fedya писал(а):все равно ошибка.
если не понятно, то, я хочу, чтобы,
если id пользователя на сайте == id пользователю из базы,
то просто измени время посещения у этого пользователя,
если этого id нету в базе, то запиши его id + время посещения в базу
Тогда вам проще посмотреть в сторону
Как-то так.