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

Форум MySQL

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

 

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

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

тема: не выбирается база данных
 
 автор: servannin   (25.05.2005 в 11:29)   письмо автору
 
 

Почему не работает этот код: пишет ошибку:Could not select database: Unknown database 'spoon'........

<?php ## Подключение к СУБД MySQL.
$user "root";
$pass "";
$db   "spoon";

// Подключаемся к СУБД MySQL.
mysql_connect("localhost"$user$pass)
  or die(
"Could not connect: ".mysql_error());
// Создаем БД $db - это может делать только суперпользователь!
// Если БД уже существует, будет ошибка, но это не страшно.
@mysql_query('CREATE DATABASE $db');
// Выбираем БД $db (только что созданную или уже существующую).
mysql_select_db($db)
  or die(
"Could not select database: ".mysql_error());
?>

   
 
 автор: cheops   (25.05.2005 в 13:01)   письмо автору
 
   для: servannin   (25.05.2005 в 11:29)
 

Хм... а база данных создаётся?

PS Темы посвящённые базам данных лучше сразу помещать в соотвествующем разделе форума http://www.softtime.ru/forum/index.php?id_forum=3

   
 
 автор: Loki   (25.05.2005 в 13:04)   письмо автору
 
   для: servannin   (25.05.2005 в 11:29)
 

А если попробовать так:

mysql_query("CREATE DATABASE '$db'"); 

   
 
 автор: servannin   (25.05.2005 в 13:24)   письмо автору
 
   для: Loki   (25.05.2005 в 13:04)
 

Да, она и не создаётся...
Что такое?

   
 
 автор: servannin   (25.05.2005 в 14:31)   письмо автору
 
   для: servannin   (25.05.2005 в 13:24)
 

Если через коммандную строку ввожу,то создаётся,а через php - нет!
В чём может быть проблема?

   
 
 автор: cheops   (25.05.2005 в 21:17)   письмо автору
 
   для: servannin   (25.05.2005 в 14:31)
 

Уберите символы @ - что-нибудь в браузер выводится?

   
 
 автор: servannin   (25.05.2005 в 22:20)   письмо автору
 
   для: cheops   (25.05.2005 в 21:17)
 

Нет,только то что и выводилось ,то есть :

Could not select database: Unknown database 'spoon'

   
 
 автор: glsv (Дизайнер)   (26.05.2005 в 05:13)   письмо автору
 
   для: servannin   (25.05.2005 в 11:29)
 

Замените одинарные кавычки на двойные вот в этой строке

mysql_query("CREATE DATABASE $db");

В одинарных кавычках нельзя использовать переменные php. Они не интерпретируются и являются обычным текстом.
Т.е. у вас создавалась база с именем $db, а не с именем spoon

   
 
 автор: cheops   (26.05.2005 в 13:38)   письмо автору
 
   для: glsv (Дизайнер)   (26.05.2005 в 05:13)
 

Хм... вообще-то да, приведу ссылку по теме.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=130

   
 
 автор: Loki   (26.05.2005 в 17:29)   письмо автору
 
   для: glsv (Дизайнер)   (26.05.2005 в 05:13)
 

>В одинарных кавычках нельзя использовать переменные php
А как же тогда передавать текстовые переменные с пробелами?
А про двойные кавычки я с самого начала написал:)

   
 
 автор: servannin   (26.05.2005 в 22:48)   письмо автору
 
   для: Loki   (26.05.2005 в 17:29)
 

Вот код:

<?php ## Подключение к СУБД MySQL.
$user "Home";
$pass "";
$db   "spoon";
mysql_connect("localhost"$user$pass)
  or die(
"Could not connect: ".mysql_error());
mysql_query("CREATE DATABASE $db");
mysql_select_db($db)
  or die(
"Could not select database: ".mysql_error());
?>

Но чего то не работает....Я уже и так и так с этими кавычками...

   
 
 автор: cheops   (27.05.2005 в 00:16)   письмо автору
 
   для: servannin   (26.05.2005 в 22:48)
 

Что пишет вот такой код
<?php ## Подключение к СУБД MySQL. 
$user "Home"
$pass ""
$db   "spoon"
mysql_connect("localhost"$user$pass
  or die(
"Could not connect: ".mysql_error()); 
mysql_query("CREATE DATABASE $db"
  or die(
"Could not create database: ".mysql_error()); 
mysql_select_db($db
  or die(
"Could not select database: ".mysql_error()); 
?>

   
 
 автор: servannin   (27.05.2005 в 01:15)   письмо автору
 
   для: cheops   (27.05.2005 в 00:16)
 

Ничего не пишет , а просто создаёт ,наконец-то,БД - spoon !
Как говорят в Беларуси :Вялики дзякуй ,cheops.8-)
Только я не понял какая разница между моим кодом и вашим ) ?
Странно как-то...

   
 
 автор: cheops   (27.05.2005 в 12:38)   письмо автору
 
   для: servannin   (27.05.2005 в 01:15)
 

Действительно странно... я только проверку добавил у mysql_query, который базу создаёт :)))

   
 
 автор: glsv (Дизайнер)   (27.05.2005 в 09:30)   письмо автору
 
   для: Loki   (26.05.2005 в 17:29)
 

>А про двойные кавычки я с самого начала написал
Ага, пропустил ваше сообщение.

   
Rambler's Top100
вверх

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