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
Форумы портала PHP.SU :: Версия для печати :: PHP+MYSQL
Форумы портала PHP.SU » » Работа с СУБД » PHP+MYSQL

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

1. Kokio - 15 Ноября, 2012 - 16:31:15 - перейти к сообщению
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
2. LIME - 15 Ноября, 2012 - 16:59:05 - перейти к сообщению
0. выбросить Попова в мусорку
1. phpfaq.ru/debug
3. esterio - 15 Ноября, 2012 - 17:42:14 - перейти к сообщению
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; ?>


И не учите по Попопу!!!!!!!
4. avtor.fox - 15 Ноября, 2012 - 18:18:33 - перейти к сообщению
esterio пишет:
mysql_fetch_array, она возвращает нумерованый массив

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

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

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

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

Выбросить* исключение? ТС сложить две переменные ещё видимо не может, а Вы пример с ним привели.
5. esterio - 15 Ноября, 2012 - 18:30:50 - перейти к сообщению
avtor.fox пишет:
mysql_fetch_array, она возвращает нумерованый массив

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

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

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

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

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

 

Powered by ExBB FM 1.0 RC1