Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP+MYSQL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Php.Mysql
Kokio
Отправлено: 15 Ноября, 2012 - 16:31:15
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Privet, mojete pamoc, sto nado zdelat, problema gde???

<?php
$result = mysql_query ("SELECT id,title,date,description,author FROM courses",$db); 58
$myrow = mysql_fetch_array ($result); 59

do {

printf (
"<table width='95%' align='center' class='course'>
<tr>
<td class='course_title'><p> %$</p><p>Date posted: %$</p><p>The author of the course: %$</p></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table><br><br>", $myrow['title'], $myrow['date'], $myrow['author']); 73

}

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

?>
Warning: mysql_query() expects parameter 2 to be resource, null given in C:\home\localhost\www\web_site_php\courses.php on line 58
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\home\localhost\www\web_site_php\courses.php on line 59
Warning: printf() [function.printf]: Argument number must be greater than zero in C:\home\localhost\www\web_site_php\courses.php on line 73
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\home\localhost\www\web_site_php\courses.php on line 77
 
 Top
LIME
Отправлено: 15 Ноября, 2012 - 16:59:05
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Перенесено из темы "php + mssql + cp1251 на сервере - проблема с кодировкой."
0. выбросить Попова в мусорку
1. phpfaq.ru/debug
 
 Top
esterio
Отправлено: 15 Ноября, 2012 - 17:42:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




1. $result = mysql_query ("SELECT id,title,date,description,author FROM courses",$db);
Сделайте mysql_connect, а еще лучше new mysqli

2. $myrow = mysql_fetch_array ($result);
так как нету коннекта с базой то й результата нету
используйте mysql_feach_assoc()

3. </table><br><br>", $myrow['title'], $myrow['date'], $myrow['author']);
Вы используете mysql_fetch_array, она возвращает нумерованый массив(причем в данном случае false так как нету коннекта с базой)

4. насколько я помню printf в качестве замены принимает %s а не %$

Пример:
PHP:
скопировать код в буфер обмена
  1. $db = new MySQLi('host', 'user', 'password', 'database');
  2. $query = 'SELECT id, title, date, description, author FROM courses';
  3. if(!$result = $db->query($query));
  4.         throw new Exception('Error query '.$query.' '.mysqli_error($db));
  5.  
  6. $rows = array();
  7. while($row = $result->feach_assoc())
  8.         $rows[] = $row;


CODE (html):
скопировать код в буфер обмена
  1. <?php foreach($rows as $value): ?>
  2. <table width='95%' align='center' class='course'>
  3.         <tr>
  4.                 <td class='course_title'>
  5.                         <p><?= $value['title']; ?></p><p>Date posted: <?= $value['date']; ?></p>
  6.                         <p>The author of the course: <?= $value['author']; ?></p>
  7.                 </td>
  8.         </tr>
  9.         <tr>
  10.                 <td>&nbsp;</td>
  11.         </tr>
  12. </table>
  13. <br><br>
  14. <?php endforeach; ?>


И не учите по Попопу!!!!!!!

(Отредактировано автором: 15 Ноября, 2012 - 17:43:28)

 
 Top
avtor.fox
Отправлено: 15 Ноября, 2012 - 18:18:33
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




esterio пишет:
mysql_fetch_array, она возвращает нумерованый массив

Да ладно. Кажись там что-то ещё есть.
esterio пишет:
И не учите по Попопу!!!!!!!

Чем отличается Ваш пример от "уроков" Попова?

PHP:
скопировать код в буфер обмена
  1. while($row[] = $result->fetch_assoc());

Да будет Вам счастье.

Выбросить* исключение? ТС сложить две переменные ещё видимо не может, а Вы пример с ним привели.

(Отредактировано автором: 15 Ноября, 2012 - 18:21:35)

 
 Top
esterio
Отправлено: 15 Ноября, 2012 - 18:30:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




avtor.fox пишет:
mysql_fetch_array, она возвращает нумерованый массив

Сорри ошыбся, давно не использовал
Да там еще 2 параметр можно указать что возвращать. А по дефолту кажись и то и другое

avtor.fox пишет:
while($row[] = $result->fetch_assoc());

та да, просто так мне привичней, так как я делаю почти всегда $rows[$row['id']] = $row;, можно еще while(true); Радость Радость Радость

avtor.fox пишет:
Выбросить* исключение?

Не хотелось die(); писать.

(Отредактировано автором: 15 Ноября, 2012 - 18:31:29)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB