Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Извлечение новостных позиций из базы данных
 
 автор: Фитч   (24.04.2007 в 20:40)   письмо автору
 
 

Делаю простейший скрипт, он выводит новости на страницу из базы. Вот код:

   /* dbServer, $dbUser, $dbName и  $dbPassword - Переменные с сервером, именем, пользователем и паролем к бд соответственно. Они верные */
   if(!$connect = mysql_connect($dbServer,$dbUser,$dbPassword))
   {
          die("Unable to connect to db");
   }
   else
   {
       if(!mysql_select_db($dbName,$connect))
       {
          die("Unable to select db");
       }
       else
       {
          $sql = "SELECT * FROM `news` WHERE 1;";
          if(!$res = mysql_query($sql,$connect))
          {
             die("Unable to get result");
          }
          else
          {
               while($row = mysql_fetch_row($res))
               {
                   echo "<DIV class = \"entry\">\r\n";
                   echo "<span id=\"ntitle\">".$row['date']."</span><br>\r\n";
                   echo "<DIV>".$row['body']."</DIV></DIV><BR>";
               }
          }
       }
   }

Проблема в том, что данные не отображаются, хотя теги, обрамляющие их (см. цикл вайл) выводятся. Подозреваю, что тут дело в кодировке. Кодировка бд вроде win-1251. Странно и то, что почти такой же код работает в гостевой книге без проблем. Помогите, плз!

   
 
 автор: Trianon   (24.04.2007 в 21:28)   письмо автору
 
   для: Фитч   (24.04.2007 в 20:40)
 

>
while($row = mysql_fetch_row($res)) 


Здесь нужно писать не mysql_fetch_row а mysql_fetch_assoc

>
WHERE 1;

не нужно писать вообще

   
 
 автор: golovdinov   (24.04.2007 в 22:08)   письмо автору
 
   для: Trianon   (24.04.2007 в 21:28)
 

я лично пишу mysql_fetch_array (). интересно есть разница?

   
 
 автор: Trianon   (24.04.2007 в 22:23)   письмо автору
 
   для: golovdinov   (24.04.2007 в 22:08)
 

Отвечу за себя.
если человек пишет mysql_fetch_row - я полагаю, что он достает данные по номерам столбцов
если человек пишет mysql_fetch_assoc - я полагаю, что он достает данные по именам полей
если человек пишет mysql_fetch_array - я полагаю, что он сам не знает, чего хочет. И доверие к скрипту (да и к автору, пожалуй) у меня резко падает.
Если при этом он умудряется еще и обращаться к массиву как по именам, так и по номерам, я полагаю, что автор ставит целью меня запутать.

Скрипту - если конечно Вы случайно не понаставили алиасов (или боже упаси имен полей прямо в таблицах) из цифр - пофиг. Он железный. Мне - нет. Вот и вся разница.

   
 
 автор: zerocool   (25.04.2007 в 09:48)   письмо автору
 
   для: golovdinov   (24.04.2007 в 22:08)
 


$row= mysql_fetch_row($result)
   вывод будет типа $row[0] $row[1] и тд

   $row= mysql_fetch_array($result)
   вывод будет типа $row[название поля]

   $row= mysql_fetch_object($result)
   вывод будет типа $row ->название поля

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования