Вопрос № 32944: Почему php не выделяет базу MySQL в коде вроде всё правильно
<?
if(!mysql_connect ("localhost","12","12"))
{
echo "<h1>Ошибка сервера MySQL.</h1>";
exit;
}
if (mysql_e...Вопрос № 32963: Доброе время суток эксперты!
Киньте ссылочку на информацию о том как использовать БД MySQL.
Нужно хранить данные в БД для сайта.
Или напишите тут.
Желательно в кратце. Не более 10-20 страниц. (Ссылочку а не напишите =))
...Вопрос № 32971: Вопрос больше теоретический чем практический:
Итак предположим есть файл php такого содержания:
<?php
//kerner.php
...
mysql_connect("server","login","pass");
...
?>
Закрытия соедине...Вопрос № 32973: Вопрос:
Можно ли сохранить картинку в Mysql базу и как потом её вывести?
Для сохранения чувствую нужно пользоваться побитным чтением картинки (fread) и записывать в поле типа longBlob. А как выводить?
Сохранить перед этим побитной записью...Вопрос № 32997: Будьте добры, помогите с вопросом:
Две системы ХР с MySQL 4.1.8 на каждой, но вот беда, на 1 компе база (ср1251) после РНР скрипта в браузере отображается нормально, а на втором та же самая база после вывода в браузере, русский текст отображается...
Вопрос № 32.944
Почему php не выделяет базу MySQL в коде вроде всё правильно
<?
if(!mysql_connect ("localhost","12","12"))
{
echo "<h1>Ошибка сервера MySQL.</h1>";
exit;
}
if (mysql_errno()==0)
{
if (mysql_select_db("reg",));
else
{
echo "База не выделена ";
}
?>
При работе скрипта пишет что база не выделена. Я думаю что с настройками сервера или баз что то не впорядке.
Отвечает: Samum
Здравствуйте, Адиятуллин Артём Халитович!
А то, что у вас написано вообще запускается?
Обычно пишут примерно следующее:
mysql_connect("localhost","12","12") or die("Не могу создать соединение ");
if(@!mysql_select("reg")){
echo "Не могу выбрать базу данных: ".mysql_error();
}
?>
Тогда становятся понятны причины ошибок.
--------- Если бы программистам за их ошибки отрывали части тела, то в конце концов им пришлось бы использовать голову!
Ответ отправил: Samum (статус: Специалист)
Отправлен: 10.01.2006, 09:35 Оценка за ответ: 5 Комментарий оценки: Попоробывал ваш код
mysql_connect("localhost","14","14") or die("Не могу создать соединение "); if(@!mysql_select_db("REG")){ echo "Не могу выбрать базу данных: ".mysql_error(); } if(mysql_query(' CREATE TABLE NAME ( id int primary key ) ')); ?> Он теперь пишет"Не
могу выбрать базу данных: Access denied for user '14'@'localhost' to database 'reg' "Не пойму чего ему надо?.Сам я новичёк в php, начал изучать так что не судите строго.
Отвечает: Дмитрий Иванов
Здравствуйте, Адиятуллин Артём Халитович!
если нижележащий код тоже не будет работать, то тогда причина точно лежит в настройках базы.
$db=mysql_connect ("localhost","12","12") or die (mysql_error());
mysql_select_db("reg",$db) or print ("База не выделена");
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 10.01.2006, 10:53 Оценка за ответ: 5 Комментарий оценки: как ни крути не работает.У меня Деневер стоит может настройки поменять надо. Через phpMy Admin всё создайтся.А в скрипте пишет "Не могу выбрать базу данных: Access denied for user '14'@'localhost' to database 'reg' ".Вроде логин пароль првильный указан.
Отвечает: Stamm
Здравствуйте, Адиятуллин Артём Халитович!
Попробуйте следующий код:
$user="12"; // имя
$pas="12"; // пароль
$root="reg"; // База данных
$db=mysql_connect ("localhost",$user,$pas) or die (mysql_error());
mysql_select_db($root,$db) or print ("База не выбрана");
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Отправлен: 10.01.2006, 10:58 Оценка за ответ: 4 Комментарий оценки: Не работает см. коментарий выше.
Запятую вот убери или вот так напиши mysql_select_db("reg", $link)
--------- все тленно
Ответ отправила: Whisper (статус: 3-ий класс)
Отправлен: 10.01.2006, 11:24 Оценка за ответ: 4 Комментарий оценки: А про какую запятую ты говорил Юзер 14 существует.Поставил пользователя root пишет"Не могу выбрать базу данных: Unknown database 'reg' " Хотя в phpMyAdmin база есть собственно ручно создовал.
Скопировал код, который был написан в приложении. Код не отработал в связи с синтаксическими ошибками. Я предлагаю вам использовать следующий вариант:
<?
$db=mysql_connect ("localhost","root","") or die("No connection!");
mysql_select_db("tmc",$db) or die("No database selected!");
?>
А вообще может стоит посмотреть в сторону PEAR::DB?
Ответ отправил: Sulfur (статус: 1-ый класс)
Отправлен: 10.01.2006, 12:05
Отвечает: XMF
Здравствуйте, Адиятуллин Артём Халитович!
--
mysql_select_db("reg",));
в этой строке я не понимаю смысла запятой.. а так пользуйтесь типа:
if(!mysql_connect(...) and !mysql_Select_db(...) { // error}else{
//work...
}
--
Вообще лучше делать все нормально, типа:
mysql_connect(..) or die("ne mogu skonektitsa");
mysql_select_db(..) or die(ne mogu vubrat...");
смысл понятен? ;)
Ответ отправил: XMF (статус: 2-ой класс)
Отправлен: 10.01.2006, 12:41
Вопрос № 32.963
Доброе время суток эксперты!
Киньте ссылочку на информацию о том как использовать БД MySQL.
Нужно хранить данные в БД для сайта.
Или напишите тут.
Желательно в кратце. Не более 10-20 страниц. (Ссылочку а не напишите =))
Заранее спасибо.
Отправлен: 10.01.2006, 14:37
Вопрос задал: Delphin (статус: Студент)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: DrakoN
Здравствуйте, Delphin!
Все просто я напишу, как ето сделать...В phpMyAdmin создаете БД для нее, оговариваете имя админа и пароль(либо придумываете сами, либо берете их в файле ридми(который идет вместе с сайтом))...Далее берете скрипт который генерит вашу БД(либо пишите сами, либо он есть в папке MySQL идущей вместе с дистрибутивом сайта).Не ошибайтесь в именах адимна и пароле...И запускаете етот скрипт в phpMyAdmin...Могу намного подобронее но для етого скажите какой именно сайт вы хотите поставить.Удачи!
--------- От Винта!
Ответ отправил: DrakoN (статус: 7-ой класс)
Отправлен: 10.01.2006, 14:54 Оценка за ответ: 3 Комментарий оценки: Мне самому писать. А не ставить CMS.
Отвечает: Straight
Здравствуйте, Delphin!
http://www.mysql.ru/docs/
Ответ отправил: Straight (статус: 3-ий класс)
Отправлен: 10.01.2006, 15:01 Оценка за ответ: 3
Отвечает: Whisper
Здравствуйте, Delphin!
Упс =)))
http://ru2.php.net/get/php_manual_ru.chm/from/a/mirror вот тут чудо справка и все есть=))) гык
--------- все тленно
Ответ отправила: Whisper (статус: 3-ий класс)
Отправлен: 10.01.2006, 15:02 Оценка за ответ: 3 Комментарий оценки: Это у меня есть.
Отвечает: Doctor013
Здравствуйте, Delphin!
А яндекс что, перестал работать?
phpclub.ru для начала, точнее вот это http://phpclub.ru/detail/article/phpintro и вот это
http://phpclub.ru/detail/article/2000-12-05 + смотри документацию на http://mysql.ru/
--------- the non-fulfilment one's promise is a cause for someone's mistrust
Ответ отправил: Doctor013 (статус: 4-ый класс)
Отправлен: 10.01.2006, 15:07 Оценка за ответ: 4
Отвечает: Дмитрий Иванов
Здравствуйте, Delphin!
лучше обьяснений чем пример я думаю нет, все примеры взяты из работающего PHP скрипта:
документация по Mysql(en):
http://dev.mysql.com/doc/refman/5.0/en/
документация по mysql в PHP(ru):
http://de.php.net/manual/ru/ref.mysql.php
коннеkт к базе данных:
$db = mysql_connect ("localhost", $dbuser, $dbpasswd) or die ("Could not connect");
mysql_select_db($dbname);
создание таблицы:
$sql = 'CREATE TABLE `block_ip` ('
. ' `ip` VARCHAR(60) NOT NULL, '
. ' `cdate` DATETIME NOT NULL,'
. ' PRIMARY KEY (`ip`)'
. ' )';
$query=mysql_query($sql);
получение колличества строк:
$sql="SELECT count(*) AS count FROM ".$tab;
$query=mysql_query($sql);
$row = mysql_fetch_array($query);
$count = $row['count'];
получение определенного колличества записей(один из видов):
$result= array();
$sql="SELECT * FROM ".$tab." ORDER BY id DESC LIMIT $min,$max";
$query=mysql_query($sql);
while($ar=mysql_fetch_array($query)){
$result[]=$ar;
}
return $result;
удаление записи:
$sql = "DELETE FROM $tab WHERE id='$id'";
$query=mysql_query($sql);
изменение записи:
$sql = "UPDATE $tab SET name='$name', email='$email', hurl='$hurl', text='$text', edate=NOW(),edip='$rip' $ins WHERE id='$id'";
$query=mysql_query($sql);
вставка новой записи:
$sql = "INSERT INTO block_ip (ip,cdate) VALUES ('$a',NOW())";
$query=mysql_query($sql);
закрытие коннекта с базой (не обязательный шаг но желательный) :
mysql_close($db);
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 10.01.2006, 16:47 Оценка за ответ: 5 Комментарий оценки: Самое то! Спасибо большое!!! Было бы 10 поставил бы 10.!
Ответ отправил: Klesman (статус: 1-ый класс)
Отправлен: 10.01.2006, 17:39 Оценка за ответ: 1 Комментарий оценки: >Желательно в кратце. > Не более 10-20 страниц. (Ссылочку а не напишите =))
А вы мне ссылку на книгу даете.
Вопрос № 32.971
Вопрос больше теоретический чем практический:
Итак предположим есть файл php такого содержания:
<?php
//kerner.php
...
mysql_connect("server","login","pass");
...
?>
Закрытия соединения (mysql_close()) в конце не происходит.
Может ли кто-нибудь с другого сайта этим воспользоваться?
Например:
<?php
...
require "www.mysite.ru/kernel.php"
$i=Mysql_query('SELECT * FROM passwords_of_pentagon');
...
?>
Просто интерестно с точки зрения безопасности.
Отвечает: Ерёмин Андрей
Здравствуйте, Golden Spider!
Нет. Соединение закроется автоматически после выполнения скрипта. Даже и не думайте об этом.
--------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 10.01.2006, 18:15 Оценка за ответ: 5 Комментарий оценки: Спасибо. Только взламывать чужие сайты мне даром не нужно, не подумайте плохого!:) P.S. Cвой защитить надо
Отвечает: Stamm
Здравствуйте, Golden Spider!
Нет не сможет.........
Это тебе ни хухры мухры, это умная PHP...сама всё закроет.....
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Отправлен: 10.01.2006, 22:30 Оценка за ответ: 5 Комментарий оценки: OK
Отвечает: Дмитрий Иванов
Здравствуйте, Golden Spider!
не, воспользоваться с другого сайта этим никто не сможет.
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 11.01.2006, 10:52 Оценка за ответ: 5 Комментарий оценки: Good
Отвечает: Lancelot
Здравствуйте, Golden Spider!
Описание функции mysql_close( database_connection):
Функции используется для закрытия непостоянного соединения
---------------------------
Однако в этом нет особой необходимости, поскольку с завершением сценария соединение закроется автоматически.
--------- Дуракам везёт? Не такие уж они и дураки. (Хенрик Ягодзинский)
Ответ отправил: Lancelot (статус: Студент)
Отправлен: 11.01.2006, 22:25 Оценка за ответ: 5 Комментарий оценки: Ага
Вопрос № 32.973
Вопрос:
Можно ли сохранить картинку в Mysql базу и как потом её вывести?
Для сохранения чувствую нужно пользоваться побитным чтением картинки (fread) и записывать в поле типа longBlob. А как выводить?
Сохранить перед этим побитной записью? :)
Отвечает: Doctor013
Здравствуйте, Golden Spider!
На самом деле все проще -
пример в приложении
вставлять картинки из базы на странику можно и так
<img src="view.php?file=5"> (см. приложение)
теперь о минусах подобного подхода:
1. многократно возрастает трафик базы данных - проблема решается кешированием
2. огромные дампы, которые плохо читаются
Другой подход - хранить в базе ссылки на файлы, а сами файлы пускай остаются на сервере
Приложение:
--------- the non-fulfilment one's promise is a cause for someone's mistrust
Ответ отправил: Doctor013 (статус: 4-ый класс)
Отправлен: 10.01.2006, 21:24
Отвечает: XMF
Здравствуйте, Golden Spider!
--
Загоняешь в БД, а потом вызываешь типа: getimage.php?id=123
и все
Ответ отправил: XMF (статус: 2-ой класс)
Отправлен: 10.01.2006, 23:32 Оценка за ответ: 3 Комментарий оценки: Очень точный ответ. Как вызывать изображение библиотекой CG я знаю, а вот как "загнать" её в базу?
Отвечает: Дмитрий Иванов
Здравствуйте, Golden Spider!
сохранение в приложении. тип ячеек TEXT, INT, BLOB
после select надо сделать обратное преобразование stripslashes()
и работать как с бинарной информацией.
Но линк на файл - действительно лучше :)
Приложение:
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 11.01.2006, 10:50 Оценка за ответ: 5 Комментарий оценки: Вот это я понимаю! Ничего лишнего! А насчет линка, я сейчас пользуюсь этим способом просто захотелось узнать что-то альтернативное...
Вопрос № 32.997
Будьте добры, помогите с вопросом:
Две системы ХР с MySQL 4.1.8 на каждой, но вот беда, на 1 компе база (ср1251) после РНР скрипта в браузере отображается нормально, а на втором та же самая база после вывода в браузере, русский текст отображается вопросами (???? ? ???) ?
(браузеры разные FireFox и ослик :)
Отправлен: 10.01.2006, 22:38
Вопрос задал: Alex-a888 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Stamm
Здравствуйте, Alex-a888!
Вставьте этот код:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Отправлен: 10.01.2006, 22:49 Оценка за ответ: 5 Комментарий оценки: Супер, кратко и ясно!
Отвечает: Дмитрий Иванов
Здравствуйте, Alex-a888!
так как информация отображается вопросами , могу предположить только некоректное экспортирование базы данных. попробуй перенести базу не дампом а просто скопировать файлы базы данных.
что то большее сложно сказать , не хватает информации
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 11.01.2006, 10:29 Оценка за ответ: 2 Комментарий оценки: Базу копирую, но и во вновь созданной базе тоже '?'. Помогло: mysql_query ("set character_set_....