Forum Webscript.Ru

Программирование => PHP => Тема начата: Elfist от 16 Мая 2010, 22:36:46

Название: обновление базы данных
Отправлено: Elfist от 16 Мая 2010, 22:36:46
вот такая проблема

существует таблица с 3-мя строками: id,link,title
нужно отредактировать поле link и title

 
if (isset($_POST[\'id\'])) {$id = $_POST[\'id\']; }    $resultk = mysql_query ("SELECT * FROM friends WHERE id=\'$id\'");  
$myrowk = mysql_fetch_array($resultk);        
 print <<
           
   HERE;    ?>

соединение с базой данных происходит в файле config.php

Собственно проблема вот в чём.Почемуто не выводится значение "value"(которое и надо изменить) т.е $myrow[title\'] почему-то пустое значение,хотя в базе данных оно есть.


Версия сервера: 5.0.51a

кто чем может помогите
Название: обновление базы данных
Отправлено: for_i_0 от 18 Мая 2010, 07:05:30
А что мешает проверить значения переменной которая передаются в запрос?

Я бы еще посоветовал включить error_reporting(E_ALL)
очень помогает.
Название: обновление базы данных
Отправлено: Elfist от 18 Мая 2010, 23:05:36
а смысл её проверять?
Название: обновление базы данных
Отправлено: for_i_0 от 20 Мая 2010, 02:05:00
Elfist
ты проверишь или мне закрыть тему ?
Название: обновление базы данных
Отправлено: Elfist от 20 Мая 2010, 21:07:22
ЗАкрывать не надо.Просто не вижу смысла проверять,ведь и так знаю, что она пуста.
Ну может я не так понял тебя,если можно то поподробней.
Ах да...вот ещё что: почему-то на домашней машине всё работает а вот на хосте нет!
Название: обновление базы данных
Отправлено: for_i_0 от 21 Мая 2010, 00:40:46
Elfist
$resultk = mysql_query ("SELECT * FROM friends WHERE id=\'$id\'");

$id-эта переменная пустая?

если, да то я так понимаю твой запрос должен возвращать пустую строку.
соответственно ты получаешь пустое значение в атрибут value=""

не вижу ничего не естественного.
Название: обновление базы данных
Отправлено: Elfist от 21 Мая 2010, 10:35:22
нет эта переменная не пуста.
Дело в том,что всё прекрасно работает на локалхосте,но когда я этоже проверяю на хостинге-не работает.Вот и пытаюсь выяснить почему так.
Название: обновление базы данных
Отправлено: for_i_0 от 21 Мая 2010, 21:51:48
ну так проверь эту переменную на сервере...
а потом уже будем дальше разбираться.

Если она все же не пустая. Проверь результат своего запроса.

и включи error_reporting(E_ALL).
Название: обновление базы данных
Отправлено: Elfist от 22 Мая 2010, 11:17:48
Сделал так:

 
error_reporting (E_ALL);  
if (isset($_GET[\'id\'])) {$id = $_GET[\'id\'];}

if (!isset($id))
{
$result = mysql_query ("SELECT id,title FROM data ");
if (!$result)
{
echo "

Запрос не может быть выполнен.Пожалуйста сообщите об этом администратору.
Код ошибки:

";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array ($result);

}
else
{
echo "

Информация по запросу не может быть извлечена,в таблице нет запесей

";
exit ();
}

do
{
printf ("

%s",$myrow["id"],$myrow["title"]);

}
while ($myrow = mysql_fetch_array ($result));

}

//если существует $id
else
{

if (empty($id))
{
echo "Переменная id пуста";
}
else
{


/* Вытаскиваем из базы все поля и сравниваем переменную $id */
$result = mysql_query ("SELECT * FROM data WHERE id=$id"); /* Приравниваем к переменной $result все поля из таблицы data */
$myrow = mysql_fetch_array($result); /* Выводим массив из переменной $result  и приравниваем  к переменной $myrow*/

$result2 = mysql_query ("SELECT id,title FROM categories"); /* Для категорий */
$myrow2 = mysql_fetch_array($result2);

$count = mysql_num_rows ($result2);

echo "

Редактирование материала

";
echo "

Выберите категорию:

";


print <<
 
   


     
   


   


     
   


   


     
   


   


     
   


   


     
   


   


     
   


   


     
   



   


     
   



 

HERE;
}

}
?>


Всё работает!!!Спасибо за то,что уделил внимание,буду заходить к вам по чаще.