Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как установить связь с базой данных?
 
 автор: Gagus   (16.09.2006 в 12:48)   письмо автору
 
 

Например стр.82. Листинг 2.48, что нужно сделать, чтобы это заработало? Простите за такие тупые вопросы!!!

   
 
 автор: DEM   (16.09.2006 в 13:33)   письмо автору
 
   для: Gagus   (16.09.2006 в 12:48)
 

Ну я думаю если вы скажите книгу, то я думаю будет больше шансов ответить на ваш вопрос...


ЗЫ. а лучше привидите пример кода (то что в этом листинге)

   
 
 автор: Gagus   (16.09.2006 в 20:21)   письмо автору
 
   для: DEM   (16.09.2006 в 13:33)
 

Книга PHP5 Практика создания Web-сайтов.

   
 
 автор: cheops   (16.09.2006 в 14:31)   письмо автору
 
   для: Gagus   (16.09.2006 в 12:48)
 

А какая книга имеется ввиду и что сейчас не работает? Выдаются ли какие-нибудь сообщения об ошибках?

   
 
 автор: Gagus   (16.09.2006 в 20:43)   письмо автору
 
   для: cheops   (16.09.2006 в 14:31)
 

Книга PHP5. Практика создания WEB-сайтов. (+CD) Помогите люди добрые хоть чем-нибудь, если можете! Установил WEB-сервер Apache,PHP, MySql.Все как написано, все картинки отображаются. До стр 81. кажется все более-менее понятно и работает.
Читаю файл readme.txt из папки I, что на CD. Создал 2 таблицы files , hitfile (файл filecounter.sql). Дальше ничего не понятно. По книге пытаюсь, тоже не получается! Помогите!!

   
 
 автор: Gagus   (17.09.2006 в 13:06)   письмо автору
 
   для: cheops   (16.09.2006 в 14:31)
 

Сервер базы данных не доступен. Книга PHP5. Практика создания WEB.
Создаю следующий файл:
<?php
// Сетевой адрес MySQL-сервера
$dblocation = "localhost";
// Имя базы данных
$dbname = "database";
// Пользователь
$dbuser = "root";
// Его пароль
$dbpasswd = "";
// Устанавливаем соединение с базой данных
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) exit ("К сожалению, не доступен сервер MySQL : ".mysql_error());
// Выбираем базу данных
if (!@mysql_select_db($dbname,$dbcnx)) exit("К сожалению, не доступна база данных : ".mysql_error());

@mysql_query("SET NAMES 'cp1251'");
?>
Указываю в строке $dbpasswd=" свой пароль". Открываю страницу там сообщение: недоступна база данных. Если меняю имя базы в строке на ту, которая есть на сервере и опять открываю страницу, то никаких сообщений нет, страница пустая. Это что значит? Так должно быть и тогда , что делать дальше, или это плохо и ничего не работает? Простите за тупые вопросы!!!

   
 
 автор: cheops   (17.09.2006 в 16:50)   письмо автору
 
   для: Gagus   (17.09.2006 в 13:06)
 

Вы на локальной машине проверяете или на рабочем сервере?

   
 
 автор: Gagus   (17.09.2006 в 19:13)   письмо автору
 
   для: cheops   (17.09.2006 в 16:50)
 

На локальной машине.У меня получилось открыть страницу в браузере "Сайт для книги професс. сайт и т.д." Но после заголовка контакты все отбражается не по русски. Правильная кодировка только в разделах Поиск в каталоге и Отправить письмо. Как поправить? Спасибо!

   
 
 автор: cheops   (18.09.2006 в 01:43)   письмо автору
 
   для: Gagus   (17.09.2006 в 19:13)
 

Помострите имеют ли таблицы по умолчанию кодировку cp1251, если нет, её следует изменить на cp1251.

   
 
 автор: Gagus   (18.09.2006 в 19:06)   письмо автору
 
   для: cheops   (18.09.2006 в 01:43)
 

Кодировку для таблицы product из базы site поправил на cp1251. Проверил это командой show create table product. Выдается сообщение default charset=сp1251. Не знаю, то ли делаю, но это не помогает. Только то, что в таблице(дамп) написано по английски отображается по русски, а то что по русски , слолбец адреса- то иероглифами. Что еще поделать мне? Помогите!!

   
 
 автор: cheops   (19.09.2006 в 00:14)   письмо автору
 
   для: Gagus   (18.09.2006 в 19:06)
 

Иероглифы как выглядят?

   
 
 автор: Gagus   (20.09.2006 в 07:44)   письмо автору
 
   для: cheops   (19.09.2006 в 00:14)
 

Так выглядит одна из страниц сайта.
Управление каталогом услуг
Здесь осуществляется администрирование каталога.


Добавить подкаталог Название
Описание
Поз.
Действия

†?«??
‚?®???­?© ??­®?
1
Скрыть
Исправить
Удалить

‘??®????? ?? ?????

2
Скрыть
Исправить
Удалить


Это самый верхний каталог - здесь можно вывести описание.

   
 
 автор: cheops   (20.09.2006 в 12:05)   письмо автору
 
   для: Gagus   (20.09.2006 в 07:44)
 

А версию MySQL какую используете? 4.1 или 5.0?

   
 
 автор: Gagus   (20.09.2006 в 15:04)   письмо автору
 
   для: cheops   (20.09.2006 в 12:05)
 

Архив mysgl-14.1.16-win32.zip.
При открытии страницы с текстом файла
<?php
$dblocation = "127.0.0.1";
$dbname = "site";
$dbuser = "root";
$dbpasswd = "user1";

$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "<p>К сожалению, не доступен сервер mySQL</p>";
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "<p>К сожалению, не доступна база данных</p>";
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Ошибка в запросе</p>";
exit();
}
echo mysql_result($ver, 0);
?>
выдается сообщение:
4.1.16-nt

   
 
 автор: cheops   (20.09.2006 в 20:27)   письмо автору
 
   для: Gagus   (20.09.2006 в 15:04)
 

А базу данных как заполняете? Откуда? (из PHP, из консольного mysql)?

   
 
 автор: Gagus   (20.09.2006 в 21:29)   письмо автору
 
   для: cheops   (20.09.2006 в 20:27)
 

Да, а как еще можно?

   
 
 автор: cheops   (21.09.2006 в 00:38)   письмо автору
 
   для: Gagus   (20.09.2006 в 21:29)
 

Нет, я имею ввиду как вы заполняете? :) При помощи какого клиента?

   
 
 автор: Gagus   (21.09.2006 в 08:38)   письмо автору
 
   для: cheops   (21.09.2006 в 00:38)
 

Содержимое файла site.sql копирую в буфер обмена и в командной строке mysql это загружаю. Вам смешно, а я тут мучаюсь! Простите за такие тупые вопросы!!!

   
 
 автор: cheops   (21.09.2006 в 12:32)   письмо автору
 
   для: Gagus   (21.09.2006 в 08:38)
 

Не хотел обидить... Командную строку настраиваете для работы с кодировкой cp1251? Выполняете перед работой команду
chcp 1251

   
 
 автор: Gagus   (21.09.2006 в 19:22)   письмо автору
 
   для: cheops   (21.09.2006 в 12:32)
 

Эта команда выдает ошибку.Error 1064(42000). Команда select charset('mmmm') выдает latin1. Правильно ли я действую? Я запускаю My SQL Command Client из главного меню Windows. Затем на запрос enter password ввожу пароль. Появляется подсказака mysql> и дальше я пишу команды. Где-то на вашем форуме я прочитал, что должен появиться значок световора в диспетчере задач. Чего-то такой фигни я у себя не наблюдаю. Может чего не так установилось. Помогите пожалуйста разобраться!

   
 
 автор: cheops   (21.09.2006 в 21:24)   письмо автору
 
   для: Gagus   (21.09.2006 в 19:22)
 

Нет, нужно запустить командную строку (Пуск -> Программы -> Стандартные -> Командная строка) выполнить команду
chcp 1251

перейти в каталог bin базы данных MySQL
cd C:\mysql\bin

Выполнить вход в mysql
mysql -u root -p

Настроить кодировку соединения при помощи запроса
SET NAMES 'cp1251'

Данные введённые после этого не будут искажены. При этом таблицы должны иметь кодировку по умолчанию cp1251.

   
 
 автор: Gagus   (22.09.2006 в 09:46)   письмо автору
 
   для: cheops   (21.09.2006 в 21:24)
 

У меня команда chcp 1251 в командной строке DOS выдает ошибку. Но благодаря Вам , я теперь в Mysql выхожу по-человески! Спасибо. Но что же мне дальше делать, помогите!

   
 
 автор: cheops   (22.09.2006 в 11:34)   письмо автору
 
   для: Gagus   (22.09.2006 в 09:46)
 

1) У вас какая операционная система?
2) Вы команду chcp 1251 вводите до команды mysql?

   
 
 автор: Gagus   (22.09.2006 в 15:14)   письмо автору
 
   для: cheops   (22.09.2006 в 11:34)
 

Windows XP SP2. Порядок такой, как у вас. То есть в строке MS DOS - команда chcp 1251, потом все остальное. Теперь все команды выполняются, команда chcp в DOSе выдает сообщение дурацкими буквами потом двоеточие и 1251.
Привожу пример отображения страницы:
Управление каталогом услуг
Здесь осуществляется администрирование каталога.



Каталог: †?«??

Верхний уровень
Добавить подкаталог Название
Описание
Поз.
Действия


Продукция в каталоге

Добавить квартиру район
адрес
пл(О/Ж/К)
комн.
этаж
этажн.дома
материал
сан. узел
балкон
цена
цена м.кв.
валюта
примечание
Действия

Канавинский
?«. ?®??®?? ?
78
41
12
2
8
9
кирпичный
раздельный
балкон
39200
500
USD

Скрыть
Исправить
Удалить

Нижегородский
? ??®???®?®, 16
65
45
13
3
3
12
монолитный
раздельный
балкон
1252000
14600
RUR

Скрыть
Исправить
Удалить

Приокский
? ?®¤­ ?, 22
45
34
10
2
2
5
кирпичный
раздельный
балкон
679000
12200
RUR

Скрыть
Исправить
Удалить

Приокский
? ?®¤­ ?, 22
82
67
15
3
4
5
кирпичный
раздельный
балкон
1146000
14300
RUR

Скрыть
Исправить
Удалить

Канавинский
werwe
23
23
23
1
1
3
кирпичный
раздельный
балкон
123
123
RUR

Скрыть
Исправить
Удалить


Видите, что то по русски, а что-то не. А почему не знаю!

   
 
 автор: cheops   (22.09.2006 в 20:04)   письмо автору
 
   для: Gagus   (22.09.2006 в 15:14)
 

Эти данные с компакт-диска? Или вставлялись самостоятельно? Если самостоятельно, то корректный данные можно получить только при настройке кодировки.

   
 
 автор: Gagus   (22.09.2006 в 21:42)   письмо автору
 
   для: cheops   (22.09.2006 в 20:04)
 

Да, это данные с диска. Я его скопировал на винчестер. Но можно ввести данные и самостоятельно, попробовал, вводятся корректно, но мне то нужно чтобы отображались данные с диска.

   
 
 автор: cheops   (23.09.2006 в 00:25)   письмо автору
 
   для: Gagus   (22.09.2006 в 21:42)
 

Вы брали бинарные даные или разворачивали SQL-дамп?

   
 
 автор: Gagus   (23.09.2006 в 07:19)   письмо автору
 
   для: cheops   (23.09.2006 в 00:25)
 

1.Копирую содержимое файла site.sql в буфер обмена. (в Windows).
2.Пуск-Программы-стандартные-командная строка и потом в Mysql создаю из командной строки базу с именем site.
3.В mysql вставляю содержимое буфера (через правую кнопку мыши).

   
 
 автор: cheops   (23.09.2006 в 12:01)   письмо автору
 
   для: Gagus   (23.09.2006 в 07:19)
 

Тогда вся база данных у вас находится сейчас в DOS-кодировки и вместо
SET NAMES 'cp1251'

следует использовать
SET NAMES 'cp866'

или для развёртывания дампа использовать команду
mysql -u root site < site.sql

   
 
 автор: Gagus   (24.09.2006 в 10:36)   письмо автору
 
   для: cheops   (23.09.2006 в 12:01)
 

Я команду mysql -u root site < site.sql пишу в командной строке DOS. При входе на сайт раздел статьи и др. пуст. Посмотред содержимое базы сайт-там ничего не. Пожалуйста подскажите, книжку Вашу читаю, но что-то там этого нет.

   
 
 автор: cheops   (24.09.2006 в 13:01)   письмо автору
 
   для: Gagus   (24.09.2006 в 10:36)
 

1) Команда mysql -u root site < site.sql какие-нибудь сообщения об ошибках выводит?
2) Файл site.sql лежит в C:/mysql/bin?

   
 
 автор: Gagus   (24.09.2006 в 20:31)   письмо автору
 
   для: cheops   (24.09.2006 в 13:01)
 

Ура! У меня все заработало!! Мерси Вам огромное. На самом деле копирование файла site.sql в bin не помогло. Я его еще скопировал куда-то, сейчас и вот тогда все стало нормально. Спасибо люди добрые .

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования