Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение из БД, Чтение из БД 
V
    Опции темы
Pena
Дата 20.3.2010, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

Репутация: нет
Всего: нет



Второй день туплю. Подскажите, милы-люди, что не так =\ :
Код

$query = "SELECT * FROM `HTML_ocHoBa`";
$res = mysql_query($query);
while($row = mysql_fetch_array($res)){
 $HTML_ocHoBa_MetaAuthor = $row['Meta_Author'];
 $HTML_ocHoBa_MetaKeywords = $row['Meta_Keywords'];
 $HTML_ocHoBa_Title = $row['Title'];
 $HTML_ocHoBa_CSSurl = $row['CSS_url'];
 $HTML_ocHoBa_CSS = $row['CSS'];
 $HTML_ocHoBa_ScriptUrl = $row['Script_url'];
 $HTML_ocHoBa_Script = $row['Script'];
}

echo <<<HD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<HTML>
 <Head>  

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="author" content="$HTML_ocHoBa_MetaAuthor">
  <meta name="keywords" content="$HTML_ocHoBa_MetaKeywords">

  <title>$HTML_ocHoBa_Title</title>

  <link rel="stylesheet" type="text/css" href="$HTML_ocHoBa_CSSurl">
  <style type="text/css"><!--
$HTML_ocHoBa_CSS
  --></style>

  <script type="text/javascript" language="javascript" src="$HTML_ocHoBa_ScriptUrl"></script>
  <script type="text/javascript" language="javascript"><!--
$HTML_ocHoBa_Script
  --></script>

  </Head>

 <Body><Table class="tbl_0"><tr><td>
$HTML_ocHoBa_cogepwaHue
 </td></tr></Table></Body>

</HTML>
HD;

--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
sgrey
Дата 20.3.2010, 04:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: 1
Всего: 4



вот именно - что не так-то? что за ошибка хоть вылазит? может ошибка вообще не в этом куске кода?
если это - весь код, то сначала надо создать подключение к базе,  и не мешало бы поставить проверки на успешность подключений
http://us3.php.net/manual/en/function.mysql-connect.php как подключится
http://us3.php.net/manual/en/function.mysql-query.php как правильно сделать выборку
вот тут на примерах всё очень хорошо покзано
ну и http://us3.php.net/manual/en/book.mysql.php для общего понимания
PM MAIL   Вверх
Pena
Дата 20.3.2010, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

Репутация: нет
Всего: нет



Не, это не весь код) Он на несколько частей разбит - сейчас выложу... просто думал что тут в чём-то не видимая лишь мне чайнику ошибка...
Ошибку не показывает, просто в странице на выходе на месте где должны подставляться данные из бд пустые места...

PHP на который отправляется запрос с формы ввода login-password:
Код

<?php
$log = $_POST['login']; //экранируем специальные символы (обратной косой чертой) для безопасности 
$pas = md5($_POST['password']); //хэшируем ключевое слово для безопасности

$nKc6g = mysql_connect('localhost', 'root', '') or die ("<strong>Подключения к серверу баз данных не произошло.<br/>Причина: </strong> " . mysql_error()); //подключаемся к серверу баз данных
$BblgeveHue_db = mysql_select_db('my_DB', $nKc6g) or die ("<strong>Ошибка при выборе базы данных:<br/>Причина: </strong> " . mysql_error()); //выбираем базу данных

$zanpoc = "SELECT `id` FROM `novb3oBamevu` WHERE `log`='{$log}' AND `pas`='{$pas}' LIMIT 1"; //готовим запрос
$omnpaBKa_3anpoca = mysql_query($zanpoc) or die ("<strong>Ошибка при запросе. Причина:</strong>" . mysql_error()); //готовим команду отправки запроса

if (mysql_num_rows($omnpaBKa_3anpoca) == 1){ //если такой пользователь нашёлся в базе данных
 $nove = mysql_fetch_assoc($omnpaBKa_3anpoca); //возвращаем ассоциативный массив, соответствующий извлечённому из базы данных полю
 $_SESSION['id_novb3oBamev9'] = $nove['id']; //начинаем сессию со значением "user_id" равным значению "id" извлеченного выше поля
 
 include "cmpaHuLja.php"; //запускаем скрипт "личного кабинета"
}
else{
 die('Такое сочетание login-password не найдены в базе данных. [И даём ссылку на повторную авторизацию].'); //выдаём сообщение в случае не нахлждения такого пользователя в базе данных...
}

mysql_close($nKc6g); //закрываем базу данных
?>


cmpaHuLja.php
Код

<?php
if(isset($_SESSION['id_novb3oBamev9'])){
 $HTML_ocHoBa_cogepwaHue = '
Если Вы видите эту страницу, значит успешно прошли авторизацию.
';
 include("HTML_ocHoBa.php");
}
else{
 die('Доступ закрыт [И даём ссылку на повторную авторизацию].');
}
?>


HTML_ocHoBa.php
Код

<?php
$zanpoc = "SELECT * FROM `HTML_ocHoBa`";
$omnpaBKa_3anpoca = mysql_query($zanpoc);

while($nove = mysql_fetch_array($omnpaBKa_3anpoca)){
 $HTML_ocHoBa_MetaAuthor = $nove['Meta_Author'];
 $HTML_ocHoBa_MetaKeywords = $nove['Meta_Keywords'];
 $HTML_ocHoBa_Title = $nove['Title'];
 $HTML_ocHoBa_CSSurl = $nove['CSS_url'];
 $HTML_ocHoBa_CSS = $nove['CSS'];
 $HTML_ocHoBa_ScriptUrl = $nove['Script_url'];
 $HTML_ocHoBa_Script = $nove['Script'];
}

echo <<<HD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<HTML>
 <Head>  

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="author" content="$HTML_ocHoBa_MetaAuthor">
  <meta name="keywords" content="$HTML_ocHoBa_MetaKeywords">

  <title>$HTML_ocHoBa_Title</title>

  <link rel="stylesheet" type="text/css" href="$HTML_ocHoBa_CSSurl">
  <style type="text/css"><!--
$HTML_ocHoBa_CSS
  --></style>

  <script type="text/javascript" language="javascript" src="$HTML_ocHoBa_ScriptUrl"></script>
  <script type="text/javascript" language="javascript"><!--
$HTML_ocHoBa_Script
  --></script>

  </Head>

 <Body><Table class="tbl_0"><tr><td>
$HTML_ocHoBa_cogepwaHue
 </td></tr></Table></Body>

</HTML>
HD;
?>


Это сообщение отредактировал(а) Pena - 20.3.2010, 12:37
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
Ипатьев
Дата 20.3.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



$res = mysql_query($query) or trigger_error(mysql_error()." in ".$query);

Но больше я в этот топик не зайду. Этот транслит чудовищен

Это сообщение отредактировал(а) Ипатьев - 20.3.2010, 17:54
PM MAIL   Вверх
Photon
Дата 20.3.2010, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



А может ТС для начала объяснит, нафига вот этот кусок кода:
Код

while($nove = mysql_fetch_array($omnpaBKa_3anpoca)){
 $HTML_ocHoBa_MetaAuthor = $nove['Meta_Author'];
 $HTML_ocHoBa_MetaKeywords = $nove['Meta_Keywords'];
 $HTML_ocHoBa_Title = $nove['Title'];
 $HTML_ocHoBa_CSSurl = $nove['CSS_url'];
 $HTML_ocHoBa_CSS = $nove['CSS'];
 $HTML_ocHoBa_ScriptUrl = $nove['Script_url'];
 $HTML_ocHoBa_Script = $nove['Script'];
}


Если я вообще что-то понимаю, то в этот цикл надо еще включить собственно вывод полученных данных


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Pena
Дата 20.3.2010, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

Репутация: нет
Всего: нет



Ипатьев, не показывает ошибки всё равно...

Photon, кто такой ТС? Если я, то:
Взял этот кусок из кода где действительно выводились данные по средствам echo... Мне показалось что засунуть в цикл весь код, что следует за ним было бы неправильно и "объявил переменные, которым присвоил значения из бд, ВМЕСТО того чтобы сразу их выводить". 
Пересмотрел, косяка не понимаю...

Это сообщение отредактировал(а) Pena - 20.3.2010, 20:40
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
SelenIT
Дата 20.3.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Pena, для начала сделайте var_dump($row); в теле цикла -- чтобы увидеть, выбралось ли вообще что-либо из базы и если да, то что именно smile.

Но вообще логика выборки действительно странноватая. Страница одна, по логике, и запись нужно выбрать одну. Зачем выбирать все, шерстить циклом и оставлять в переменных последнюю?

Цитата(Pena @  20.3.2010,  20:32 Найти цитируемый пост)
кто такой ТС? Если я

Да, ТС - это топикстартер (автор топика).


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Pena
Дата 21.3.2010, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

Репутация: нет
Всего: нет



Яж не спорю, просто взял кусок кода который должен по идее выполнить мою задачу...
А так верно будет?

Код

$nove = mysql_fetch_array($omnpaBKa_3anpoca);

$HTML_ocHoBa_MetaAuthor = $nove['Meta_Author'];
$HTML_ocHoBa_MetaKeywords = $nove['Meta_Keywords'];
$HTML_ocHoBa_Title = $nove['Title'];
$HTML_ocHoBa_CSSurl = $nove['CSS_url'];
$HTML_ocHoBa_CSS = $nove['CSS'];
$HTML_ocHoBa_ScriptUrl = $nove['Script_url'];
$HTML_ocHoBa_Script = $nove['Script'];


var_dump($nove); показал bool(false)  smile 

Это сообщение отредактировал(а) Pena - 21.3.2010, 00:20
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
SelenIT
Дата 21.3.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Если mysql_query отработал без ошибки, а mysql_fetch_array вернул false - значит, запрос ничего не нашел, выдал пустой результат. Нужно ковырять сам запрос.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
sgrey
Дата 21.3.2010, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: 1
Всего: 4



Pena, скорей всего проблема у тебя в самом запросе. сам обжигался так не раз
глянь вот это
http://us3.php.net/manual/en/function.mysql-query.php в самом начале пример 2. попробуй сделать формат такой.
PM MAIL   Вверх
Pena
Дата 21.3.2010, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

Репутация: нет
Всего: нет



sgrey, благодарю... Правда принципиальное отличие нашёл только в самом запросе и поправил свой по аналогии на "SELECT Meta_Author, Meta_Keywords, Title, CSS_url, CSS, Script_url, Script FROM HTML_ocHoBa"... не помогло( ...или что я не сделал?

Упростил до нельзя... 

Код

$log = $_POST['login']; //экранируем специальные символы (обратной косой чертой) для безопасности 
$pas = md5($_POST['password']); //хэшируем ключевое слово для безопасности

$nKc6g = mysql_connect('localhost', 'root', '') or die ("<strong>Подключения к серверу баз данных не произошло.<br/>Причина: </strong> " . mysql_error()); //подключаемся к серверу баз данных
$BblgeveHue_db = mysql_select_db('my_DB', $nKc6g) or die ("<strong>Ошибка при выборе базы данных:<br/>Причина: </strong> " . mysql_error()); //выбираем базу данных

$zanpoc1 = "SELECT Meta_Author, Meta_Keywords, Title, CSS_url, CSS, Script_url, Script FROM HTML_ocHoBa";
$omBem1 = mysql_query($zanpoc1) or trigger_error(mysql_error()." в ".$zanpoc1);

while($nove = mysql_fetch_array($omBem1)){
 echo $nove[Meta_Author];
 echo $nove[Meta_Keywords];
 echo $nove[Title];
 echo $nove[CSS_url];
 echo $nove[CSS];
 echo $nove[Script_url];
 echo $nove[Script];
}


База:
"
 Поле  Тип Сравнение Атрибуты Ноль По умолчанию Дополнительно Действие 
   page_id  smallint(8)    UNSIGNED Да                  
   Meta_Author  varchar(32) utf8_general_ci   Да  [email protected]                
   Meta_Keywords  varchar(128) utf8_general_ci   Да                  
   Title  varchar(64) utf8_general_ci   Да  ∴                
   CSS_url  varchar(16) utf8_general_ci   Да                  
   CSS  varchar(1024) utf8_general_ci   Да  *{margin: 0; padding: 0;} HTML {height: 100%;} Body { height: 100%; font-family: Verdana, Arial; font-size: 12px; }                
   Script_url  varchar(16) utf8_general_ci   Да                  
   Script  varchar(1024) utf8_general_ci   Да 
"

НЕ РАБОТАЕТ

Это сообщение отредактировал(а) Pena - 21.3.2010, 23:03
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
sgrey
Дата 22.3.2010, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: 1
Всего: 4



Pena, 

попробуй так
Код

 echo $nove['Meta_Author'].' ' ;
 echo $nove['Meta_Keywords'].' ';
 echo $nove['Title'].' ';
 echo $nove['CSS_url'].' ';
 echo $nove['CSS'].' ';
 echo $nove['Script_url'].' ';
 echo $nove['Script']."<br/>";


Это сообщение отредактировал(а) sgrey - 22.3.2010, 00:25
PM MAIL   Вверх
NewDima
Дата 22.3.2010, 05:37 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Цитата(Ипатьев @ 21.3.2010,  00:54)
Но больше я в этот топик не зайду. Этот транслит чудовищен

Pena, учитывая это, и то, как ты именуешь переменные, обрадую тебя, что именовать их можно и кириллицей (для остальных: это не побуждение, а скорее подчеркивание глупости того, до чего дошел ТС)
PM ICQ   Вверх
MoLeX
Дата 22.3.2010, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Код

$query = "SELECT * FROM `HTML_ocHoBa`";
$res = mysql_query($query);
while($row = mysql_fetch_array($res)){
 $HTML_ocHoBa_MetaAuthor = $row['Meta_Author'];
 $HTML_ocHoBa_MetaKeywords = $row['Meta_Keywords'];
 $HTML_ocHoBa_Title = $row['Title'];
 $HTML_ocHoBa_CSSurl = $row['CSS_url'];
 $HTML_ocHoBa_CSS = $row['CSS'];
 $HTML_ocHoBa_ScriptUrl = $row['Script_url'];
 $HTML_ocHoBa_Script = $row['Script'];
}


тратишь ресурсы. http://ru.php.net/mysql_result


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Pena
Дата 22.3.2010, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

Репутация: нет
Всего: нет



Всё перелопатил, всё заработало... что конкретно уже не разобрать, но главное это: в запросе вместо ` стоят ' Надеюсь хоть теперь запомню)) Всем откликнувшимся моя искренняя благодарность! Все советы опробовал, кое что усёк))

з.ы. Конструктивную критику воспринимаю нормально, а поучения как мне в скриптах (исключительно для единоличного использования создаваемых) переменные именовать... причём в хамской форме_- ле-е-есом  smile 

Это сообщение отредактировал(а) Pena - 22.3.2010, 19:20
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0617 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.