PHP: вопросы и ответы

G1ta0

Старожил
Druid":3tt5bo0m сказал(а):
Из-за чего может быть проблема?
у себя не проверял, но вот что пишет хелп:

Код:
Эта функция недоступна в библиотеке для MySQL версий 4.x.

а также

Код:
Замечание: Функция mysql_create_db() не рекомендуется к использованию. Предпочтительнее использовать mysql_query() с SQL-запросов создания базы данных SQL CREATE DATABASE.
 

Druid

Старожил
у меня 5.0.0
Можно про mysql_query() поподробнее? Как с её помощью создать БД?
 

G1ta0

Старожил
Druid":18116o9z сказал(а):
я думаю, имеется ввиду версия 4.х и выше. эту функцию никто не применяет уже.

Druid":18116o9z сказал(а):
Можно про mysql_query() поподробнее? Как с её помощью создать БД?
тык, SQL запросом...
Код:
mysql_query("CREATE DATABASE `test`", $link);
 

Druid

Старожил
Ок, спасибо большое!

Добавлено спустя 43 минуты 35 секунд:

Ошибки не выдаётся, а как можно проаерить, создана бд или нет?
 

G1ta0

Старожил
Druid":1pxkjgdm сказал(а):
Ошибки не выдаётся, а как можно проаерить, создана бд или нет?
можно по по результату mysql_query()

Код:
mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки

или например по её(базы) наличию:

Код:
bool mysql_select_db ( string database_name [, resource link_identifier] )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
 

Druid

Старожил
Код:
$link = mysql_connect("localhost" , "name" , "password");
mysql_query("CREATE DATABASE 'test'", $link);
$a=mysql_select_db("test");
$a=(string)$a;
echo $a;
?>
Выдаёт 1. База создана?
 

G1ta0

Старожил
Druid":1h4w18ba сказал(а):
Выдаёт 1. База создана?
аццкий код. 1 - TRUE, типа база, есть =) запрос USE прошел без ошибки.
создана или нет - это результат выполнения запроса CREATE DATABASE, который возвращает mysql_query.
 

Druid

Старожил
Тоесть всё норм, работает? Ну всё, а то я уже начал лихорадочно смотреть php.ini :)
Вхожу в мир mysql. :)
 

x00

Старожил
Druid":1ra6mh3k сказал(а):
Код:
$link = mysql_connect("localhost" , "name" , "password");
mysql_query("CREATE DATABASE 'test'", $link);
$a=mysql_select_db("test");
$a=(string)$a;
echo $a;
?>
Выдаёт 1. База создана?
mysql_connect("localhost" , "name" , "password");
if (mysql_query("CREATE DATABASE 'test'")) echo "ok";
 

Druid

Старожил
Хм, странно. Вот тут он "ок" не выдаёт...
Кстати, может это из-за моего домашнего сервера? Просто у меня все скрипты запускаются не через http://localhost/scriptname.php а http://localhost:8080/scriptname.php. Но когда указываю
Код:
$link = mysql_connect("localhost:8080" , "name" , "password");
то идёт неимоверно долгая загрузка (в IE на четырёх делениях останавливается), из-за чего бы это могло быть?

Добавлено спустя 1 минуту 31 секунду:

P.S. Кстати, во время подключения загрузка ЦП: 100%
 

jeefo

Старожил
Druid":1ni6ukm9 сказал(а):
Хм, странно. Вот тут он "ок" не выдаёт... Кстати, может это из-за моего домашнего сервера? Просто у меня все скрипты запускаются не через http://localhost/scriptname.php а http://localhost:8080/scriptname.php. Но когда указываю
Код:
$link = mysql_connect("localhost:8080" , "name" , "password");
то идёт неимоверно долгая загрузка (в IE на четырёх делениях останавливается), из-за чего бы это могло быть? Добавлено спустя 1 минуту 31 секунду: P.S. Кстати, во время подключения загрузка ЦП: 100%
Код:
$link = mysql_connect("localhost:8080" , "name" , "password");
то что у тебя веб сервер на разных портах, не значит что mysql на разных, указывай просто localhost.
 

Druid

Старожил
Тогда не работает...
Вообще странно, вроде всё правильно настроил...даже к базе коннект идёт, а база не создаётся :-(
 

jeefo

Старожил
Код:
<?
	@mysql_connect ("localhost", "name", "password") or die (mysql_error ());
	@mysql_query ("CREATE DATABASE test") or die (mysql_error ());
?>
если этот код выдает пустую страницу - значит все работает, если нет - ищи проблему с настройками...
 

Druid

Старожил
Да ёпрст :) Выложите пожалуйста вашу версию MySQL, её установлю, а предыдущую версию удалю.
 

G1ta0

Старожил
Druid":3cx7sokc сказал(а):
Да ёпрст :-) Выложите пожалуйста вашу версию MySQL, её установлю, а предыдущую версию удалю.
при чем тут MySQL, у jeefo код кривой, если ошибка при создании базы, то он отваливается )


Код:
@mysql_connect("localhost" , "name" , "password") or die (mysql_error ()); // коннектимсо
mysql_query("CREATE DATABASE 'test'"); // пытаемсо создать базу, игнорим если есть ошибка
@mysql_select_db("test") or die (mysql_error ()); //делаем use или умираем на месте :D
echo "ok";

увидишь ok, то все ок =)
 

Druid

Старожил
Выдал Ok.
Так
это же он просто выполнил echo "ok"; тут же никакой связи с с базой вроде как нет...
 

G1ta0

Старожил
Druid":2vfeexfq сказал(а):
Выдал Ok. Так это же он просто выполнил echo "ok"; тут же никакой связи с с базой вроде как нет...
если бы на mysql_select_db произошла бы ошибка, то выдал бы ошибку mysql и вышел (die).

ЗЫ советую хоть книжки какие почитать
 
Верх