[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: REPLACE INTO что не так
45king
народ что не так сделал почму запрос не проходит
Код PHP1
@mysql_query("REPLACE INTO peers (info_hash,ip,port,peer_id,uploaded,downloaded,left,eventexpire_time) VALUES ('".mysql_escape_string($_GET['info_hash'])."','$ip','".$_GET['port']."','".mysql_escape_string($_GET['peer_id'])."','".$_GET['uploaded']."','".$_GET['downloaded']."','".$_GET['left']."','NOW() + INTERVAL $expire_time SECOND')");




Спустя 22 минуты, 12 секунд (1.01.2012 - 16:10) forza написал(а):
У вас стоит "@" перед функцией mysql_query ,уберите ее и посмотрите в чем ошибка.
mysql_query("REPLACE INTO peers 
(info_hash,ip,port,peer_id,uploaded,downloaded,left,eventexpire_time)
VALUES ('"
.mysql_escape_string($_GET['info_hash'])."','$ip',
'"
.$_GET['port']."','".mysql_escape_string($_GET['peer_id'])."',
'"
.$_GET['uploaded']."','".$_GET['downloaded']."','".$_GET['left']."'
,'NOW() + INTERVAL $expire_time SECOND')"
) or die(mysql_error());


И вообще, я против использования "@". Программист должен видеть свои ошибки.


Спустя 3 часа, 24 минуты, 44 секунды (1.01.2012 - 19:35) johniek_comp написал(а):
допиши
or die(mysql_error());


и покажет в чем беда

Спустя 12 часов, 26 минут, 23 секунды (2.01.2012 - 08:01) 45king написал(а):
народ подскажите как этот запрос привести в порядок

$columns = '`info_hash`, `ip`, `port`,`id`,`peer_id`, `uploaded`, `downloaded`, `left`, `expire_time`';
$values = '\'' . mysql_escape_string($_GET['info_hash']) . '\', ' . $ip . ', ' . $_GET['port'] . ',' . $_GET['id'] . ', \'' . mysql_escape_string($_GET['peer_id']). '\', ' . $_GET['uploaded'] . ', ' . $_GET['downloaded'] . ', ' . $_GET['left'] . ", NOW() + INTERVAL $expire_time SECOND";
@mysql_query("REPLACE INTO `$db_table` ($columns) VALUES ($values);") or errorexit('database error');

а он мне чет не нравиться
особенно надо убрать mysql_escape_string

Спустя 2 минуты, 27 секунд (2.01.2012 - 08:04) 45king написал(а):
johniek_comp
дописывал не каких ошибок не показывал а запрос не идет

если так вставляю то робит но этот запрос страшный

$columns = '`info_hash`, `ip`, `port`,`id`,`peer_id`, `uploaded`, `downloaded`, `left`, `expire_time`';
$values = '\'' . mysql_escape_string($_GET['info_hash']) . '\', ' . $ip . ', ' . $_GET['port'] . ',' . $_GET['id'] . ', \'' . mysql_escape_string($_GET['peer_id']). '\', ' . $_GET['uploaded'] . ', ' . $_GET['downloaded'] . ', ' . $_GET['left'] . ", NOW() + INTERVAL $expire_time SECOND";
@mysql_query("REPLACE INTO `$db_table` ($columns) VALUES ($values);") or errorexit('database error');

Спустя 1 час, 5 минут, 4 секунды (2.01.2012 - 09:09) GET написал(а):
45king

вместо or errorexit('database error');

напиши

or die(mysql_error());

как тебе выше уже сказали не раз

Спустя 2 минуты, 3 секунды (2.01.2012 - 09:11) GET написал(а):
еще сделай до запроса

echo "REPLACE INTO `$db_table` ($columns) VALUES ($values);";


и что за ";" здесь VALUES ($values); ?

Спустя 36 минут, 23 секунды (2.01.2012 - 09:47) 45king написал(а):
A.B.C.
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 '' at line 1 вот что вывело

добавел вот так

mysql_query("INSERT INTO torrent (`info_hash`,`ip`,`port`,`peer_id`) VALUES ('$f','$j','$g','$y'")or die(mysql_error());

Спустя 2 минуты, 25 секунд (2.01.2012 - 09:50) 45king написал(а):
все сделал работает

Спустя 1 минута, 8 секунд (2.01.2012 - 09:51) 45king написал(а):
or errorexit('database error');эта функция выводит ошибки в торрентклиент

Спустя 1 минута, 1 секунда (2.01.2012 - 09:52) GET написал(а):
45king

всегда ставьте or die(mysql_error()); на учебном сайте это нужно убирать только когда уже на хостинг зальете
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.