<?
include ("connect.inc");
$sql = mysql_query ("SELECT * FROM test");
while ($dp = mysql_fetch_object($sql)) {
$id = $dp -> id;
$name = $dp -> name;
echo $id, " ", $name, "<br>";
}
mysql_close($dp);
?>
результат:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in Z:\home\test.ru\www\mysql\index.php on line 5
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in Z:\home\test.ru\www\mysql\index.php on line 10
Спустя 5 минут, 16 секунд (12.08.2010 - 22:17) Ice написал(а):
включи die(mysql_error()), посмотри, где ошибка. Учись действовать самостоятельно.
Спустя 1 минута, 16 секунд (12.08.2010 - 22:18) alex107 написал(а):
я php всего пару месяцев изучаю... это первый опыт работы с БД... неудачный... =(
а как включить die(mysql_error())??? O_o
а как включить die(mysql_error())??? O_o
Спустя 2 минуты, 32 секунды (12.08.2010 - 22:20) Lenarfate написал(а):
Цитата |
а как включить die(mysql_error())??? |
под столом
вот так
$sql = mysql_query ("SELECT * FROM test") or die(mysql_error());
Спустя 1 минута, 17 секунд (12.08.2010 - 22:22) alex107 написал(а):
тебе смешно... а мне не очень...
спасибо...
спасибо...
Спустя 25 секунд (12.08.2010 - 22:22) Lenarfate написал(а):
помогло?
Спустя 1 минута, 4 секунды (12.08.2010 - 22:23) alex107 написал(а):
ой... O_o
Спустя 1 минута (12.08.2010 - 22:24) alex107 написал(а):
сам под столом...
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\test.ru\www\mysql\er.php on line 2
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Z:\home\test.ru\www\mysql\er.php on line 2
Access denied for user 'ODBC'@'localhost' (using password: NO)
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\test.ru\www\mysql\er.php on line 2
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Z:\home\test.ru\www\mysql\er.php on line 2
Access denied for user 'ODBC'@'localhost' (using password: NO)
Спустя 3 минуты, 55 секунд (12.08.2010 - 22:28) Lenarfate написал(а):
ну настройки подключения к базе неверные
Спустя 1 минута, 13 секунд (12.08.2010 - 22:29) alex107 написал(а):
ладно, ща покавыряю че-нить... спсб...
Спустя 4 минуты, 51 секунда (12.08.2010 - 22:34) Ice написал(а):
ну раз ты еще зеленый, давай сюда connect.inc. Поковыряем вместе
Спустя 20 часов, 15 минут, 52 секунды (13.08.2010 - 18:50) alex107 написал(а):
<?
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "test";
$dp = (mysql_connect($host, $user, $pass));
$table = (mysql_select_db($dbname, $dp));
?>
я его изменил со вчерашнего дня... O_o
см. http://phpforum.ru/index.php?showtopic=32450
Спустя 1 день, 20 часов, 38 минут, 11 секунд (15.08.2010 - 15:28) linker написал(а):
alex107
Одновременно с изучением PHP учимся обрамлять свой php-код bb-кодами, как это сделал я на примере вашего сообщения.
Зачем так в скобках?
Одновременно с изучением PHP учимся обрамлять свой php-код bb-кодами, как это сделал я на примере вашего сообщения.
Зачем так в скобках?
$dp = (mysql_connect($host, $user, $pass));достаточно
$table = (mysql_select_db($dbname, $dp));
$dp = mysql_connect($host, $user, $pass) or die('Невозможно подключиться');у вас явно что-то не так с учетной записью root, видимо пароль там не пустой таки.
mysql_select_db($dbname, $dp) or die('База данных не существует.');
Спустя 2 дня, 5 часов, 57 минут, 56 секунд (17.08.2010 - 21:26) UnWind написал(а):
alex107
Ошибка которую выдаёт интепритатор, означает что либо пароль либо логин пользователя mysql сервера не верен, проверь их - если бы они были бы правильными, ошибки бы не было.
Скажи мне, ты можешь залогиниться под root в phpmyadmin ? (http://localhost/tools/phpmyadmin/) Если да, то тот пароль под которым ты логинишься, присвой переменной $pass. По умолчанию в windows - denwer пароля на root нет, но может ты установил.
В LAMP (Linux Apache MySQL PHP) - тот который введёшь при установке.
Движимся далее, вопрос, ты создал базу ? (Это так, что бы решить все вопросы сразу)
Если нет, лезь сюда: http://localhost/tools/phpmyadmin/
Вводи свой логин и пасс, в разделе "Новая база данных" - создай базу "test", имя которой у тебя описанно в переменной $dbname.
Далее, создай таблицу с которой работает твой скрипт, а именно "test", в общем - кликай в левой колонке на свою базу данных "test", переключайся на вкладку SQL и туда помещай такой текст:
Давай заполним её записями:
Далее можно сделать так:
connect.php
index.php
Вот и всё, у меня всё работает
Записи должны вывестись в таком порядке на странице
с переносом строки и разделителем меж записями:
Ошибка которую выдаёт интепритатор, означает что либо пароль либо логин пользователя mysql сервера не верен, проверь их - если бы они были бы правильными, ошибки бы не было.
Скажи мне, ты можешь залогиниться под root в phpmyadmin ? (http://localhost/tools/phpmyadmin/) Если да, то тот пароль под которым ты логинишься, присвой переменной $pass. По умолчанию в windows - denwer пароля на root нет, но может ты установил.
В LAMP (Linux Apache MySQL PHP) - тот который введёшь при установке.
Движимся далее, вопрос, ты создал базу ? (Это так, что бы решить все вопросы сразу)
Если нет, лезь сюда: http://localhost/tools/phpmyadmin/
Вводи свой логин и пасс, в разделе "Новая база данных" - создай базу "test", имя которой у тебя описанно в переменной $dbname.
Далее, создай таблицу с которой работает твой скрипт, а именно "test", в общем - кликай в левой колонке на свою базу данных "test", переключайся на вкладку SQL и туда помещай такой текст:
CREATE TABLE test (
id int AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci TYPE=MyISAM COMMENT='Какая то таблица';
Давай заполним её записями:
INSERT INTRO test SET name='Иванов Козлов Сергеевич'; COMMIT;
INSERT INTRO test SET name='Александр GuT Григорьевич'; COMMIT;
INSERT INTRO test SET name='Петров Виктор Олегович'; COMMIT;
INSERT INTRO test SET name='Петров Олег Викторович'; COMMIT;
Далее можно сделать так:
connect.php
<?php
$host_name = "localhost"; //Адрес к MySQL серверу
$user_name = "root"; //Имя пользователя
$user_password = ""; //Пароль
$db_name = "test"; //Имя DB (Data Base) (Базы данных)
//Осуществляем подключение к серверу MySQL,
//если подключение несостоялось, выводим сообщение об ошибке
$connect = mysql_connect($host_name, $user_name, $user_password) or die('Соединение с MySQL сервером осуществленно неправильно, проверьте введённые Вами данные.');
//Вывод информации из выбранной DB (Data Base) (Базы Данных)
mysql_select_db($db_name) or die('DB под именем'.$db_name.' несуществует.');
//Настраиваем кодировки вывода
mysql_query("SET NAMES 'utf8';",$connect);
mysql_query("SET CHARACTER SET 'utf8';",$connect);
mysql_query("SET SESSION collation_connection = 'utf8_general_ci';",$connect);
?>
index.php
<?php
//Инклудим файл connect.php с настройками подключения к DB
include('connect.php');
//Выполняем запрос на выборку записей из базы
$sql = mysql_query("SELECT 'id', 'name' FROM test ORDER BY 'id' DESC; COMMIT;".$connect );
//Проверяем есть ли записи в таблице test
if(mysql_affected_rows() != 0) {
//Существующие записи выводим через цыкл while
while($select = mysql_fetch_row($sql)) {
echo('ID:'.$select[0].'<br>');
echo('Name:'.$elect[1].'<hr>');
}
}
//Выводим предупреждение если таблица пуста
else {
echo('В данный момент в таблице нет записей.');
}
?>
Вот и всё, у меня всё работает
Записи должны вывестись в таком порядке на странице
с переносом строки и разделителем меж записями:
Цитата |
ID: 4 Name: Петров Олег Викторович ID: 3 Name: Петров Виктор Олегович ID: 2 Name: Александр GuT Григорьевич ID: 1 Name: Иванов Козлов Сергеевич |
P.S.:> Пардон за такое длинное сообщение, просто делать дома нечего, а на работу только завтра - решил вот написать