2010-01-25 2 views
0

им работающее приложение на PHP ..PHP обновление базы данных проблема

после я обновить статус в базе данных, ее не отражает правильный статус на веб-странице ... Это будет по-прежнему показывать первый статус, который -FOUND -

mysql_query("UPDATE registration.user SET STATUS ='-LOST-' WHERE UserID = '$userid'"); 

Помощник любого?

Для страницы входа в систему, я извлечь из базы данных:

$data = mysql_fetch_row($sql_query); 
      // store the data into session variables 
      $_SESSION['UserID'] = $data[6]; 
      $_SESSION['Password'] = $data[3]; 
      $_SESSION['Name'] = $data[1]; 
      $_SESSION['AdminNo'] = $data[2]; 
      $_SESSION['mac'] = $data[4]; 
      $_SESSION['status'] = $data[5]; 
      $_SESSION['email'] = $data[7]; 
      $_SESSION['id'] = $data[0]; 

Тогда я отобразить его на моей странице индекса:

<?php echo $_SESSION['status'] ?> 

Когда я нажимаю на отчет кнопку Loss:

mysql_query("UPDATE registration.user SET STATUS ='-LOST-' WHERE UserID = '$userid'"); 

Когда я нажимаю кнопку «Найдено» на той же странице:

mysql_query("UPDATE registration.user SET STATUS ='-FOUND-' WHERE UserID = '$userid'"); 

Но когда я нажимаю на индексную страницу, она по-прежнему отображает только информацию о состоянии со страницы входа. Я снова попытался принести новые данные на странице индекса, но статус показывают пустой

+0

Пожалуйста, добавьте больше информации на ваш вопрос. Что именно вы делаете для отображения информации на веб-странице? – naivists

+1

Покажите нам код, который вы используете для отображения статуса. Какова структура вашей таблицы. Опубликовать некоторые данные образца ... –

+2

Похоже, вы читали статус от БД до того, как вы его обновили –

ответ

1

Попробуйте это:

mysql_query("UPDATE registration.user SET STATUS ='-LOST-' WHERE UserID = '$userid'") or die(mysql_error()); 

Если есть ошибка, то выводится сообщение об ошибке.

Кроме того, попробуйте посмотреть, обновляется ли значение в самой базе данных.

+0

никаких проблем с этим, он изменился в базе данных – Hola

1

Try:

printf("Records updated: %d\n", mysql_affected_rows()); 

Может быть $ идент неправильно (например, пробелы, ...), так что у вас нет хитов.

Смежные вопросы