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.SU » PHP » Напишите за меня, пожалуйста » печать переменных

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

1. vermillion - 10 Апреля, 2011 - 18:31:34 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $host = 'localhost';
  3. $user = 'root';
  4. $pass = '';
  5. $base = 'Гост';
  6.  
  7. $dbcon = mysql_connect($host, $user, $pass)
  8. or
  9. die("ошибка: ". mysql_error());
  10. mysql_select_db($base, $dbcon);
  11. //$gost = mysql_query(" SELECT Наименование госта FROM Гост ");
  12. //print ("$gost");
  13. $qwer= "qwerty" ;
  14. print ("$qwer");
  15.  
  16.  
  17. ?>

Здрасьте всем) Я новичок и тока учусь php
Вот возникла такая проблема ..я беру переменную гост в которой содержаться значения из таблицы гост ...и мне надо их вывести на экран, что у меня никак не получается
а если просто я объявляю переменную то как по учебнику всё норм работает ( за комментировано то ,что у меня не получается
пробовал и с помощью echo
2. Саныч - 10 Апреля, 2011 - 19:07:32 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $gost = mysql_query(" SELECT Наименование госта FROM Гост ");
  2. while($res = mysql_fetch_assoc($gost)) echo $res['Наименование госта'];


"Наименование госта" заменить на имя столбца в БД.
з.ы. хреновый у вас учебник, если таких простых вещей не выучили...
3. vermillion - 10 Апреля, 2011 - 19:30:33 - перейти к сообщению
Спасибо, я еще с помощью mysql_fetch_array пробовал решить эту проблему, тока натолкнулся вот на что Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\index.php on line 12
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $host = 'localhost';
  3. $user = 'root';
  4. $pass = '';
  5. $base = 'Гост';
  6.  
  7. $dbcon = mysql_connect($host, $user, $pass)
  8. or
  9. die("ошибка: ". mysql_error());
  10. mysql_select_db($base, $dbcon);
  11. $gost = mysql_query(" SELECT Наименование госта FROM Гост ");
  12. while ($res = mysql_fetch_assoc($gost))
  13. echo $res['Наименование госта'];
  14.  
  15. ?>
mysql_fetch_array и mysql_fetch_assoc выдают вот такую вот ошибку
4. altermann - 10 Апреля, 2011 - 21:22:08 - перейти к сообщению
У вас неправильный запрос, и ошибка при его выполнении. Поэтому он возвращает FALSE, а не указатель ресурса с ответом. Вы уверены что у вас поля в таблице "Наименование госта" и таблица "Гост"?
5. vermillion - 10 Апреля, 2011 - 22:09:10 - перейти к сообщению
Да ..щас всё заново перепроверил...оказалось что 1ая строка была пустой ...но дело было не в этом, а так да таблица называется гост а столбец который мне нужен называется Наименование госта

Щас создал тестовую бд с названием таблицы test из которой я выбрал запросом столбец с именем name такая же ошибка
6. Саныч - 10 Апреля, 2011 - 22:32:05 - перейти к сообщению
У вас что таблица называется Гост? из ошибки видно, что возвращается булев тип данных, т.е. либо true, либо false... В данном случае false, ошибка в запросе к БД... Сам запрос может быть синтаксически составлен и правильно, но могут быть ошибки в именах таблиц, строк и т.д.
Вобщем ищите ошибку, а сам принцип я думаю понятен.
з.ы. мой вам совет выучите mysql_fetch_assoc() и mysql_fetch_row(), и используйте их в зависимости от ситуации
7. vermillion - 28 Апреля, 2011 - 23:31:15 - перейти к сообщению
Кстате ..нашел ошибку, а она была из-за того что я обращался к таблицам и бд которые имели имя написанное русскими буквами, если обращаться к бд которая имеет англ имя то все работает.
Теперь вопрос: а как собственно решить эту проблему? (я не долго думал и все создал заново переименовав всё на англ-яз, но этот способ как-то неахти)
Да и еще...мне браузер ни в какую не хочет отображать русские буквы (кодировка в конфиге апачи utf-8 в браузере utf-8 и в phpmyandmyn когда бд делал везде где надо ставил utf-8 general) в итоге выдавал краказябру квадратами ...сменил на 1251 бин, таже кракозябра тока с элементами русских букв, вот уже не знаю какие варианты еще попробывать
P.S когда перебирал кодировки в таблицу засунул слово куй и вывел запросом его браузере, в utf-8 белый экран, а в кодировке KOI8-R он мне выдал нечто подобное aIIa, тока II были длиннее ....поржал от души))
8. dropoff - 29 Апреля, 2011 - 01:01:09 - перейти к сообщению
В файл добавить выше куда-то
header('Content-Type: text/html; charset=utf-8');
после <?php, например.

а таблицы в БД и запросы... вообще все - только латиница. где ж вы взяли русскими буквами то писать?)

И не используйте пробелы в названиях табилиц, баз и т.д...
используйте _ (нижнее подчеркивание)
9. evgenijj - 29 Апреля, 2011 - 01:13:33 - перейти к сообщению
Саныч пишет:
з.ы. хреновый у вас учебник

Это уж точно. Наверное, будет время, когда имена БД и таблиц будут на русском -- но это время еще не пришло.

 

Powered by ExBB FM 1.0 RC1