imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 08.03.2008, 12:01     # 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. Я думаю, что я не открыла доступ к базе или сделала это неправильно. Когда открываю доступ, у базы появляется псевдоним. В запросе надо обращаться к базе по имени или по псевдониму? Или сама база не в том каталоге?

Что я делаю не так? Жду вашей помощи.
Динэра вне форума  
Старый 08.03.2008, 12:32     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
http://www.php.net/manual/en/function.mysql-error.php
RaZEr вне форума  
Старый 08.03.2008, 13:34     # 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.
Динэра вне форума  
Старый 08.03.2008, 14:01     # 4
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Это потому что майскл так работает, он работает построчно, счётчик считает, сколько запрошено было и сколько было подано, а вы уже до while одну строку запрашиваете
<?$row = mysql_fetch_assoc($result);
это надо убрать, а то один запрос вы делаете заранее..
Viroman вне форума  
Старый 08.03.2008, 14:07     # 5
Динэра
Newbie
 
Регистрация: 10.11.2006
Сообщения: 32

Динэра Путь к славе только начался
Убрала, заработало, спасибо.
С добавлением новых тоже разобралась. Но при обновлении страницы последние данные записываются еще раз. Как сделать чтобы они не кэшировались?
Динэра вне форума  
Старый 08.03.2008, 14:15     # 6
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Толком никак, надо чтобы данные одинаковые - были уникальны, тогда не страшно. Посмотрите, какие столбцы вы можете сделать ключевыми, какие не имеют права повторяться.
PS: ещё можно перезагрузку страницы без параметров вынуждать, но это не выход.
Viroman вне форума  
Старый 08.03.2008, 14:21     # 7
Динэра
Newbie
 
Регистрация: 10.11.2006
Сообщения: 32

Динэра Путь к славе только начался
Повторяться не может только id...
Ну что ж, пока вопросов больше нет. Дико извиняюсь за такие нубские вопросы)
Динэра вне форума  
Старый 13.04.2008, 19:27     # 8
Динэра
Newbie
 
Регистрация: 10.11.2006
Сообщения: 32

Динэра Путь к славе только начался
Делаю поиск по базе.
Результаты должны сортироваться в алфавитном порядке, но этого не происходит. Сортируются как-то по-другому=\
Вычитала, что скорее всего не совпадает кодировка.
На самой странице используется windows-1251.
В общем, как сделать, чтобы сортировалось как надо?...
Динэра вне форума  
Старый 27.04.2008, 20:24     # 9
kasha
Member
 
Аватар для kasha
 
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217

kasha Известность не заставит себя ждать
подскажите пожалуйста, и если есть материал где на русском конкретно по моему вопросу, был бы рад.
Купил книгу по работе пхп-майскл-апач. Создал я своего пользователя в пхпмаиадмин с паролем, создал базу, пару таблиц в ней. Написал хтмл+пхп+цсс страничку. В страничке конечно прописан юзер пароль и с какой базой соединиться.
<?php
$db = mysql_connect ("localhost","Misha","14789");
$result = mysql_select_db(mybase,$db);
?>

но всегда мучал вопрос!-в пхпмайадмин помимо моего созданного юзера со всеми привелегиями были ещё 4-6 учетных записей (root,....). Вообщем т.к. информации я не нашел для чего эти остальные учетные записи, то я их решил удалить. После этого все пошло коту под хвост, руут юзера база не находит, ни одной базы не открывает, думаю опытные юзеры меня понимают.
Тогда я попробовал переустановить 3в1, думал появится все обратно. увы.
Просто не понимаю, для чего делается этот логин в пхпмаиадмин "Misha","14789", если в итоге все смогут смотреть страничку. получается я мог бы так же прописать вместо Misha написать root без пароля?

может конечно смешно будет, но я просто не понимаю этого момента
kasha вне форума  
Старый 27.04.2008, 20:44     # 10
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Вообще-то когда база устанавливается через exe/msi обычно предлагается ввести пароль для root. Если же база просто распакована из архива, то пароль для root пустой. Его нужно либо установить, либо, если база используется локально и только одним пользователем, - оставить пустым.
RaZEr вне форума  
Старый 28.04.2008, 01:33     # 11
kasha
Member
 
Аватар для kasha
 
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217

kasha Известность не заставит себя ждать
хорошо, понял что надо было на руут просто поставить пароль.
А как теперь мне выйти из сложившийся ситуации? а то он меня теперь к пхпмайадмин совсем не пускает.
kasha вне форума  
Старый 28.04.2008, 13:57     # 12
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
Цитата:
Сообщение от kasha Посмотреть сообщение
А как теперь мне выйти из сложившийся ситуации?
Затереть всё и установить снова.
EvroStandart вне форума  
Старый 28.04.2008, 22:16     # 13
kasha
Member
 
Аватар для kasha
 
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217

kasha Известность не заставит себя ждать
Всё затер, но по всей видимости не все. Т.к. после новой установки пакета Денвер, пхпмайадмин все-равно не встал на место, и на экране выводилась та же ошибка "не могу соединиться с базой данных, не сущ. пользователя 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 изначально? и как будет происходить вообще последующее соединение с данными из базы, когда страница будет помещена в интернет? через юзера которого я прописываю изначально в хтмл странице в соединении?
kasha вне форума  
Старый 30.04.2008, 12:32     # 14
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
Цитата:
Сообщение от kasha Посмотреть сообщение
т.к. этот пользователь у меня был создан,
Значит базу ты не затёр.


Цитата:
Сообщение от kasha Посмотреть сообщение
зачем нужен юзерroot изначально
Это первый пользователь. Для этого и нужен.


Цитата:
Сообщение от kasha Посмотреть сообщение
когда страница будет помещена в интернет
Там тебе на серваке отдельного пользователя сделают.
EvroStandart вне форума  
Старый 01.05.2008, 11:06     # 15
kasha
Member
 
Аватар для kasha
 
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217

kasha Известность не заставит себя ждать
Цитата:
Сообщение от EvroStandart Посмотреть сообщение
Цитата:
Сообщение от kasha Посмотреть сообщение
когда страница будет помещена в интернет
Там тебе на серваке отдельного пользователя сделают.
Я не совсем это имел ввиду. То что там дадут др. отдельного юзера - это понятно. А я имею ввиду что я вот в коде страницы прописываю там
<?php
$db = mysql_connect ("localhost","Misha","14789");
$result = mysql_select_db(mybase,$db);
?>


т.е. получается что любой кто захочет, сможет открыть код страницы и посмотреть пароль и имя юзера соединяющегося к базе MySQL. Но опять-таки с другой стороны. Если я не прописываю этого юзера, то страница не соединится с базой данных и не сможет взять из неё информацию. Вообщем вот этот момент
сейчас посмотрел код страницы и увидел что PHP код не показывает и вовсе,только HTML
Следовательно все что я писал выше - лишнее ?
Спасибо EvroStandart

Последний раз редактировалось kasha; 01.05.2008 в 11:10.
kasha вне форума  
Старый 12.05.2008, 00:50     # 16
lyolik1
Newbie
 
Регистрация: 29.12.2006
Сообщения: 10

lyolik1 Нуль без палочки
ну естественно PHP код выполняется на сервере и в output не попадает...
lyolik1 вне форума  
Старый 04.06.2008, 20:49     # 17
Динэра
Newbie
 
Регистрация: 10.11.2006
Сообщения: 32

Динэра Путь к славе только начался
Возникла следующая проблема.

На странице присутствует форма для заполнения базы данных. 1 кнопка типа submit для сохранения внесенных данных и 1 кнопка типа reset для очищения полей.

Необходимо добавить хотя бы кнопку для удаления записи (не говорю уже о редактировании - не до того).

Кнопка должна брать ID из текстового поля и удалять запись с таким ID.

Что-то подобное получалось, но при удалении записи в базу заносится новая, пустая запись=\
Динэра вне форума  
Старый 04.06.2008, 21:50     # 18
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Динэра, нужно делать проверку на количество символов в полях. Если поля не заполнены (кол-во символов ==0) то не выполнять insert
__________________
меня не вылечат
Псих вне форума  
Старый 04.06.2008, 22:15     # 19
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Сообщение от Динэра Посмотреть сообщение
Что-то подобное получалось, но при удалении записи в базу заносится новая, пустая запись=\
Это как?? Вы делаете DELETE ... FROM tableName WHERE... а у Вас появляется новая запись в таблице??? Не бывает такого.

Показывайте конкретные примеры, кода, запросов...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 04.06.2008, 22:19     # 20
Динэра
Newbie
 
Регистрация: 10.11.2006
Сообщения: 32

Динэра Путь к славе только начался
Цитата:
Сообщение от Hubbitus Посмотреть сообщение
Это как?? Вы делаете DELETE ... FROM tableName WHERE... а у Вас появляется новая запись в таблице??? Не бывает такого
Ды не, я, получается, делаю 2 кнопки submit. Поля-то не заполнены, а при нажатии все равно записываются...

Да вообще, фиг с ними.

Мне бы кнопку для удаления сделать, а с остальным разберусь.
Динэра вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:54.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.