Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 18:14   #1
Loriens
Новичок
Джуниор
 
Регистрация: 10.01.2011
Сообщений: 5
Вопрос Скрипт в PHP для для доступа БД MySQL

На данный момент пытаюсь составить по самоучителю тестовый скрипт на чтение данных в БД* MySQL.

Написал вот это:
<? include("mysql.inc") ?>
<html>
<head></head>
<body>
<?
$sql = mysql_query ("SELECT * FROM test_table ORDER BY name");
while ($dp = mysql_fetch_object($sql)) {
$id = $dp -> id;
$name = $dp -> name;
echo $id, " ", $name, "<br>";
}
mysql_close($dp);
?>
</body>
</html>



Стокнулся с тем, что бразуер (Opera) после первого знака "->" выдает открытый код на страницу. Конечно, с БД он ничего не считывает. Хочу понять, в чем проблема, подскажите новичку . Вроде бы все правильно написал (а может и нет, кто его знает)... Пытался как-то по-другому написать скрипт, ничего не получалось.

*БД - База данных
Loriens вне форума Ответить с цитированием
Старый 10.01.2011, 18:17   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

В смысле выдает код? А PHP работает вообще?
Поставьте вывод ошибок ini_set('display_errors','On'), а также
Код:
mysql_query ("SELECT * FROM test_table ORDER BY name") or mysql_error();
Кроме того, конкатенация строк при echo осуществляется с помощью точек, а не запятых
motorway вне форума Ответить с цитированием
Старый 10.01.2011, 18:57   #3
Loriens
Новичок
Джуниор
 
Регистрация: 10.01.2011
Сообщений: 5
По умолчанию

PHP работает.

Выдает код всмысле просто начинает выводить код на страницу, а не делать то, что предписано кодом.

Сейчас попытаюсь добавить то, что вы сказали, motorway.
Loriens вне форума Ответить с цитированием
Старый 10.01.2011, 19:01   #4
Loriens
Новичок
Джуниор
 
Регистрация: 10.01.2011
Сообщений: 5
По умолчанию

Все добавил. Код такой:
<? include("mysql.inc") ?>
<html>
<head></head>
<body>
<?
ini_set('display_errors','On')
$sql = mysql_query ("SELECT * FROM test_table ORDER BY name") or mysql_error();
while ($dp = mysql_fetch_object($sql)) {
$id = $dp -> id;
$name = $dp -> name;
echo $id, " ", $name, "<br>";
}
mysql_close($dp);
?>
</body>
</html>


Ничего не изменилось, так же выдает открытый код.

Конечно, как вариант баг с браузером или Денвером, который и дает мне PHP. Сейчас пока что проверю, работают ли другие скрипты.
Loriens вне форума Ответить с цитированием
Старый 10.01.2011, 19:02   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Я может не особо профи в php но надо написать <?php
Код:
....
<?php
$sql = mysql_query ("SELECT * FROM test_table ORDER BY name");
....
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 10.01.2011, 19:05   #6
Loriens
Новичок
Джуниор
 
Регистрация: 10.01.2011
Сообщений: 5
По умолчанию

Это вроде бы необязательный элемент. У меня скрипты работали и без этого вроде бы.

Подставил <? php, ничего не изменило =).
Loriens вне форума Ответить с цитированием
Старый 10.01.2011, 19:08   #7
Loriens
Новичок
Джуниор
 
Регистрация: 10.01.2011
Сообщений: 5
По умолчанию

Так, блин, оттестил на ноутбуке, все работает . Извиняюсь за беспокойство, пошел искать причину в компьютере =).

P.S. Тему можно закрыть.
Loriens вне форума Ответить с цитированием
Старый 10.01.2011, 19:08   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Кроме того, конкатенация строк при echo осуществляется с помощью точек, а не запятых
Да ладно... :
Цитата:
void echo ( string $arg1 [, string $... ] )
Пруф -> Example #1:
PHP код:
// Some people prefer passing multiple parameters to echo over concatenation.
echo 'This ''string ''was ''made ''with multiple parameters.'chr(10); 
Век живи - век учись
Andkorol вне форума Ответить с цитированием