Перейти к содержимому

Сервис обмена электронных валют


Скрипт удаления не работает, mySQL

#11 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0
0

Отправлено 30 Май 2009 - 02:31

ZiTosS, а вообще для чего скобки? }
  • 0

#12 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 02:36

ZiTosS, насчет
$query = "SELECT * FROM {$tbname2} WHERE login='{$lname}' AND password='{$secret}' LIMIT 1 ";
$res = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($res) == 1)
{
   $array = mysql_fetch_array($res);
   $id_del = intval($array['id']);
   $query = "DELETE FROM {$tbname} WHERE id={$id_del} ";
   $res = mysql_query($query) or die(mysql_error());
все равно.... :)

смотрите - вы создаете переменную $array = mysql_fetch_array($res); тем самым получаете асс.массив запроса $res но запрос то
$res = mysql_query($query) or die(mysql_error());

  • 0

#13 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 30 Май 2009 - 02:44

a.graphics, я всегда их пишу для наглядности, всё равно что $post, что {$post}

смотрите - вы создаете переменную $array = mysql_fetch_array($res); тем самым получаете асс.массив запроса $res но запрос


Что запрос? Я же не зря делаю проверку

if(mysql_num_rows($res) == 1)

И не зря пишу запрос так:

$query = "SELECT * FROM {$tbname2} WHERE login='{$lname}' AND password='{$secret}' LIMIT 1 ";


  • 0

#14 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 03:09

ZiTosS, нет я все понял..просто вы наверно не
так поняли =)) Первое что делает скрипт проверяет сессию типа есть ли пользователь или нету..потом уже в другой таблице идет удаление....и все =) а у вас , проверяет создает переменную и опять проверяет о_О....два запроса к разным таблицам идут под одинаковыми именами ...эээ...ну просто посмотрите повнимательнее ...
  • 0

#15 a.graphics

a.graphics
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 30 Май 2009 - 03:12

ZiTosS, а так не проще?
query = "SELECT * FROM {$tbname2} WHERE login='{$lname}' AND password='{$secret}' LIMIT 1 ";
$res = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($res) == 1)
{ 
$resultQ =("DELETE FROM $tbname WHERE Id = '$_GET[Id]' ");
$qQ = mysql_query($resultQ)OR DIE(mysql_error());
if($qQ)
   {
	  echo "<meta http-equiv='refresh' content='1; url=dir.php' /><br>удаление..";
   }

  • 0

#16 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 01 Июнь 2009 - 11:17

a.graphics, вы знаете когда запрос возвращает false?

Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.


Так что ваш скрипт не совсем правелен.
  • 0


Оформление форума – IPBSkins.ru