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

Форум MySQL

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

 

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

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

тема: Помогите новичку - создание базы данных
 
 автор: MadMaxx   (03.01.2005 в 16:23)   письмо автору
 
 

Здрасте.
Вот занялся программированием на php+mysql, и возникли некоторые трудности, надеюсб вы смолжете мне помочь. :-)
1.Посредством php получается создать базу данных, только если она начинается с test, а хотелось бы назвать без начального test.
2.Если создам посредством команндной строки базу данных без начального test, то в php немогу к ней подключиться.
3.И последний вопрос. Как передать в функцию класса массив?
Надеюсь вы мне сможете помочь.:-)

   
 
 автор: cheops   (03.01.2005 в 17:08)   письмо автору
 
   для: MadMaxx   (03.01.2005 в 16:23)
 

1-2) Ситуация довольно не типичная, у MySQL не должно быть ни каких причин вести себя так. Не могли бы вы сообщить номер версии MySQL и точный порядок создания базы, а ещё лучше код при помощи которого вы создаёте базу данных. Вы создаёте базу данных от имени root или анонимного пользователя и от имени какого пользователя работате потом с MySQL из PHP?
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=919
3) Точно так же как и в обчную функцию, через параметр.

   
 
 автор: MadMaxx   (04.01.2005 в 02:28)   письмо автору
 
   для: cheops   (03.01.2005 в 17:08)
 

номер версии MySQL - 3.22.24
код,при помощи которого создаю БД:
<?

$new_db 
"(название БД)";

$connection = @mysql_connect("localhost""myadmin""123321") or die("Couldn't connect.");

$result = @mysql_create_db($new_db$connection
    or die(
"Couldn't create database.");

if (
$result) {
    
$msg "<P>Database has been created!</p>";


?>


<HTML>
<HEAD>
<TITLE>Create a MySQL Database</TITLE>
</HEAD>
<BODY>


<? echo "$msg"?>

</BODY>
</HTML>

и тут если в название бд указать как, например MyShop, выдаст ошибку, а если testShop - создаст

   
 
 автор: cheops   (04.01.2005 в 03:02)   письмо автору
 
   для: MadMaxx   (04.01.2005 в 02:28)
 

Хм... попробуйте передать базе данных SQL-запрос на создение новой базы данных:
<?php 
  $new_db 
"new_database"
  
$connection = @mysql_connect("localhost""root""") or die("Couldn't connect."); 
  
$result = @mysql_query("CREATE DATABASE $new_db"
    or die(
"Couldn't create database."); 
  if (
$result)
  { 
    
$msg "<P>Database has been created!</p>"
  } 
  else
  { 
    echo 
mysql_erorr();
    
$msg "<P>Database has not been created!</p>"
  } 
?> 
<HTML> 
<HEAD> 
<TITLE>Create a MySQL Database</TITLE> 
</HEAD> 
<BODY> 
<? echo "$msg"?> 
</BODY> 
</HTML>

Как себя ведёт база?

PS Кстати, пользователь myadmin существует?

   
 
 автор: MadMaxx   (04.01.2005 в 20:34)   письмо автору
 
   для: cheops   (04.01.2005 в 03:02)
 

При этом коде таблица создалась.
Тока я теперь как myadmin ничего сделать немогу, даже список баз данных не выводит, код
<?

$connection 
= @mysql_connect("localhost""myadmin""123321"
    or die(
"Couldn't connect.");

$dbs = @mysql_list_dbs($connection
    or die(
"Couldn't list databases.");

$db_list "<ul>";

$db_num 0;

while (
$db_num mysql_num_rows($dbs)) {
    
$db_names[$db_num] = mysql_tablename($dbs$db_num);
    
$db_list .= "<li>$db_names[$db_num]";
    
    
// list tables on each database
    
    
if (($db_names[$db_num] != "mysql") && ($db_names[$db_num] != "tempdata")) {
    
        
$tables = @mysql_list_tables($db_names[$db_num]) 
            or die(
"Couldn't list tables.");
        
$table_list "<ul>";

        
$table_num 0;
    
        while (
$table_num mysql_num_rows($tables)) {
            
$table_names[$table_num] = mysql_tablename($tables$table_num);
            
$table_list .= "<li>$table_names[$table_num]";

            
$table_num++;
        }

        
$table_list .= "</ul>";
    }    

    
$db_list .= "$table_list";
    
$db_num++;
    
}

$db_list .= "</ul>";

?>

<HTML>
<HEAD>
<TITLE>MySQL Tables</TITLE>
</HEAD>
<BODY>

<P><strong>Databases and tables on localhost</strong>:</p>

<? echo "$db_list"?>

</BODY>
</HTML>

пока я не запустил ваш скрипт все выводило:-(
а если заменить
$connection = @mysql_connect("localhost", "myadmin", "123321") 
    or die("Couldn't connect.");

на
$connection = @mysql_connect("localhost", "root", "") or die("Couldn't connect.");

то выводит.
Пользователя myadmin я вводил через командную строку следующим образом:

c:\mysql\bin>mysqld-shareware
c:\mysql\bin>mysql
mysql> use mysql
mysql> insert into user (host,user,password) values ('localhost','myadmin',password('123321'));
mysql> exit
c:\mysql\bin>mysqladmin flush-privileges

это команды которые я вводил. Так было написанно в книге.

   
 
 автор: cheops   (04.01.2005 в 21:10)   письмо автору
 
   для: MadMaxx   (04.01.2005 в 20:34)
 

Понятно... так уже пользователей не заводят - так как помимо того, что пользователь заведён следует назначить ему привелегии на операторы и таблицы, обычно для этого используют оператор GRANT, а вообще чтобы спокойно жить используйте root, у вас ведь локальная машина, а не сервер.

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

   
 
 автор: elenaki   (04.01.2005 в 11:03)   письмо автору
 
   для: MadMaxx   (04.01.2005 в 02:28)
 

хм. у меня все создалось - и MyShop и testShop....

   
Rambler's Top100
вверх

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