| imho.ws |
![]() |
|
|
|
# 1 |
|
Newbie
Регистрация: 10.11.2006
Сообщения: 32
![]() |
MySQL и PHP
Здравствуйте. Мне нужна помощь по функциям php для работы с базой mysql.
Проблема в том, что я, как я полагаю, не могу установить соединение с базой. Когда делаю запрос на количество строк, получаю такую ошибку: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\Inetpub\wwwroot\dannie.php on line 32 Сама база находится в каталоге C:\mysql\data. Операционная система Windows XP. Я думаю, что я не открыла доступ к базе или сделала это неправильно. Когда открываю доступ, у базы появляется псевдоним. В запросе надо обращаться к базе по имени или по псевдониму? Или сама база не в том каталоге? Что я делаю не так? Жду вашей помощи. |
|
|
|
|
# 3 |
|
Newbie
Регистрация: 10.11.2006
Сообщения: 32
![]() |
С этим разобралась, подключение к базе есть, ошибку больше не выдает - просто вместо имени таблицы написала имя базы...
Но теперь не выводит содержимое таблицы и не записывает в нее новые данные(( Вот я пишу: <?$result=mysql_query("select * from pogibshie order by id desc");?> <table border=1 align="center"> <?$row = mysql_fetch_assoc($result); while ($row=mysql_fetch_assoc($result)) {?> <tr> <td><?=$row['fam']?></td> <td><?=$row['im']?></td> <td><?=$row['ot']?></td> </tr> <?}?> </table> Если в таблице одна запись - ничего не выводится. Если несколько - то выводятся все, кроме последней. Как сделать, чтобы выводились все записи? И как добавлять новые? Последний раз редактировалось Динэра; 08.03.2008 в 13:45. |
|
|
|
|
# 4 |
|
Banned
Регистрация: 16.10.2007
Сообщения: 14
![]() |
Это потому что майскл так работает, он работает построчно, счётчик считает, сколько запрошено было и сколько было подано, а вы уже до while одну строку запрашиваете
<?$row = mysql_fetch_assoc($result); это надо убрать, а то один запрос вы делаете заранее.. |
|
|
|
|
# 6 |
|
Banned
Регистрация: 16.10.2007
Сообщения: 14
![]() |
Толком никак, надо чтобы данные одинаковые - были уникальны, тогда не страшно. Посмотрите, какие столбцы вы можете сделать ключевыми, какие не имеют права повторяться.
PS: ещё можно перезагрузку страницы без параметров вынуждать, но это не выход. |
|
|
|
|
# 8 |
|
Newbie
Регистрация: 10.11.2006
Сообщения: 32
![]() |
Делаю поиск по базе.
Результаты должны сортироваться в алфавитном порядке, но этого не происходит. Сортируются как-то по-другому=\ Вычитала, что скорее всего не совпадает кодировка. На самой странице используется windows-1251. В общем, как сделать, чтобы сортировалось как надо?... |
|
|
|
|
# 9 |
|
Member
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217
![]() |
подскажите пожалуйста, и если есть материал где на русском конкретно по моему вопросу, был бы рад.
Купил книгу по работе пхп-майскл-апач. Создал я своего пользователя в пхпмаиадмин с паролем, создал базу, пару таблиц в ней. Написал хтмл+пхп+цсс страничку. В страничке конечно прописан юзер пароль и с какой базой соединиться. <?php $db = mysql_connect ("localhost","Misha","14789"); $result = mysql_select_db(mybase,$db); ?> но всегда мучал вопрос!-в пхпмайадмин помимо моего созданного юзера со всеми привелегиями были ещё 4-6 учетных записей (root,....). Вообщем т.к. информации я не нашел для чего эти остальные учетные записи, то я их решил удалить . После этого все пошло коту под хвост, руут юзера база не находит, ни одной базы не открывает, думаю опытные юзеры меня понимают.Тогда я попробовал переустановить 3в1, думал появится все обратно. увы . Просто не понимаю, для чего делается этот логин в пхпмаиадмин "Misha","14789", если в итоге все смогут смотреть страничку. получается я мог бы так же прописать вместо Misha написать root без пароля? может конечно смешно будет, но я просто не понимаю этого момента
|
|
|
|
|
# 10 |
|
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Вообще-то когда база устанавливается через exe/msi обычно предлагается ввести пароль для root. Если же база просто распакована из архива, то пароль для root пустой. Его нужно либо установить, либо, если база используется локально и только одним пользователем, - оставить пустым.
|
|
|
|
|
# 13 |
|
Member
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217
![]() |
Всё затер, но по всей видимости не все. Т.к. после новой установки пакета Денвер, пхпмайадмин все-равно не встал на место, и на экране выводилась та же ошибка "не могу соединиться с базой данных, не сущ. пользователя root@..... pass: .... . Тогда попробовал скачать файлы панели пхпмаиадмин с сайта, подменил старые, но ничего не вышло. Выводил ту же ошибку. Затем нашел конфиг. файл в webservers/home/localhost/www/phpmyadmin/config.inc открыл его и заменил две строчки в нём
$cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'Misha'; $cfg['Servers'][$i]['password'] = '12345'; т.к. этот пользователь у меня был создан, пхпмайадмин сработала и приняла юзера и пароль. ну вроде как решил свою проблему. Всем спасибо. Но никто не подскажет зачем нужен юзерroot изначально? и как будет происходить вообще последующее соединение с данными из базы, когда страница будет помещена в интернет? через юзера которого я прописываю изначально в хтмл странице в соединении? |
|
|
|
|
# 15 | |
|
Member
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217
![]() |
Цитата:
<?php $db = mysql_connect ("localhost","Misha","14789"); $result = mysql_select_db(mybase,$db); ?> т.е. получается что любой кто захочет, сможет открыть код страницы и посмотреть пароль и имя юзера соединяющегося к базе MySQL. Но опять-таки с другой стороны. Если я не прописываю этого юзера, то страница не соединится с базой данных и не сможет взять из неё информацию. Вообщем вот этот момент ![]() сейчас посмотрел код страницы и увидел что PHP код не показывает и вовсе,только HTML Следовательно все что я писал выше - лишнее ?Спасибо EvroStandart Последний раз редактировалось kasha; 01.05.2008 в 11:10. |
|
|
|
|
|
# 17 |
|
Newbie
Регистрация: 10.11.2006
Сообщения: 32
![]() |
Возникла следующая проблема.
На странице присутствует форма для заполнения базы данных. 1 кнопка типа submit для сохранения внесенных данных и 1 кнопка типа reset для очищения полей. Необходимо добавить хотя бы кнопку для удаления записи (не говорю уже о редактировании - не до того). Кнопка должна брать ID из текстового поля и удалять запись с таким ID. Что-то подобное получалось, но при удалении записи в базу заносится новая, пустая запись=\ |
|
|
|
|
# 19 | |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Показывайте конкретные примеры, кода, запросов...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
|
# 20 | |
|
Newbie
Регистрация: 10.11.2006
Сообщения: 32
![]() |
Цитата:
Да вообще, фиг с ними. Мне бы кнопку для удаления сделать, а с остальным разберусь. |
|
|
|