Форумы портала PHP.SU » » Работа с СУБД » Разное поведение в разных версиях БД

Страниц (1): [1]
 

1. coolrus - 11 Августа, 2011 - 01:37:48 - перейти к сообщению
Вообщем код такой
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if (empty($myrow['id']))
  3. {
  4. //если пользователя с введенным логином и паролем не существует,то записываем ip пользователя и с датой ошибки
  5.  
  6. $select = mysql_query ("SELECT ip FROM oshibka WHERE ip='$ip'");
  7. $tmp = mysql_fetch_row ($select);
  8. if ($ip == $tmp[0]) {
  9. //проверяем, есть ли пользователь в таблице "oshibka"
  10. $result52 = mysql_query("SELECT col FROM oshibka WHERE ip='$ip'",$db);
  11. $myrow52 = mysql_fetch_array($result52);
  12.  
  13. $col = $myrow52[0] + 1;//Если есть,то приплюсовываем количесво
  14. mysql_query ("UPDATE oshibka SET col=$col,date=NOW() WHERE ip='$ip'");
  15. }
  16.  
  17. else {
  18. //если за последние 15 минут ошибок не было, то вставляем новую запись в таблицу "oshibka"
  19. mysql_query ("INSERT INTO oshibka (ip,date,col) VALUES ('$ip',NOW(),'1')");
  20. }
  21.  

в старой версии phpMyAdmin все работает правильно и значение "col" приплюсовывается, а в более новой вместо того чтобы приплюсовывать создает новую строку со всеми тремя значениями. в чем загвоздка?
2. illy - 11 Августа, 2011 - 07:33:05 - перейти к сообщению
а если $col = $myrow52[0]++; Не понял
хотя эт тоже самое
3. Viper - 11 Августа, 2011 - 07:33:54 - перейти к сообщению
Что то не пойму при чем тут phpmyadmin к mysql(древнему).

У вас ошибка скорее в проверке


var_dump($tmp); и посмотрите, то ли у вас приезжает, что вы ожидаете!?
4. illy - 11 Августа, 2011 - 11:33:31 - перейти к сообщению
echo $ip;
$select = mysql_query ("SELECT ip FROM oshibka WHERE ip='$ip'");
$tmp = mysql_fetch_row ($select);
echo $tmp[0];
5. coolrus - 11 Августа, 2011 - 13:58:30 - перейти к сообщению
Спасибо за помощь ошибка прошла сама собой. Видимо это у хостера проблемы были... тему можно закрывать...

 

Powered by ExBB FM 1.0 RC1