Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: SQL&PHP
Форумы портала PHP.SU » » Вопросы новичков » SQL&PHP

Страниц (1): [1]
 

1. nordghost - 20 Октября, 2012 - 18:30:30 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. mysql_query("DROP TABLE IF EXISTS users") or die("Error drop table users");
  3. mysql_query("DROP TABLE IF EXISTS administrators")or die("Error drop table administrators");
  4. mysql_query("DROP TABLE IF EXISTS posts")or die("Error drop table posts");
  5. mysql_query("DROP TABLE IF EXISTS comments")or die("Error drop table comments");
  6. mysql_query("DROP TABLE IF EXISTS cathegories")or die("Error drop table cathegories");
  7.  
  8. mysql_query("CREATE TABLE users (
  9.                                         user_id  int(64) NOT NULL AUTO_INCREMENT,
  10.                                         email varchar(30) NOT NULL,
  11.                                         name varchar(15) NOT NULL,
  12.                                         passwd VARCHAR(64) NOT NULL,
  13.                                         reg_date timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP,
  14.                                         PRIMARY KEY (`user_id`));")or die("Error creating table users");
  15. mysql_query("CREATE TABLE posts (
  16.                                         post_id  int(64) NOT NULL AUTO_INCREMENT,
  17.                                         cathegory_id varchar(30) NOT NULL,
  18.                                         post_author varchar(30) NOT NULL,
  19.                                         post_desc varchar(256) NOT NULL,
  20.                                         post_text VARCHAR(256) NOT NULL,
  21.                                         post_file VARCHAR(64) NOT NULL,
  22.                                         post_date timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP,
  23.                                         PRIMARY KEY (`post_id`));")or die("Error creating table posts");
  24. mysql_query("CREATE TABLE comments (
  25.                                         id  int(64) NOT NULL,
  26.                                         author_id  int(64) NOT NULL,
  27.                                         post_id int(64) NOT NULL,
  28.                                         text varchar(30) NOT NULL,
  29.                                         PRIMARY KEY (`id`)
  30.                                         );")or die("Error creating table posts");
  31. mysql_query("CREATE TABLE cathegories (
  32.                                         id  int(64) NOT NULL AUTO_INCREMENT,
  33.                                         name varchar(30) NOT NULL,
  34.                                         image varchar(30) NOT NULL,
  35.                                         PRIMARY KEY (`id`));") or die ("Error creation table cathegories");
  36. mysql_query("CREATE TABLE administrators (
  37.                                         adm_id  int(64) NOT NULL AUTO_INCREMENT,
  38.                                         adm_email VARCHAR(30) NOT NULL,
  39.                                         adm_name VARCHAR(15) NOT NULL,
  40.                                         adm_passwd VARCHAR(64) NOT NULL,
  41.                                         adm_secret VARCHAR(64) NOT NULL,
  42.                                         PRIMARY KEY (`adm_id`));")or die("Error creating table administrators");
  43.  
  44.  



Как сократить упростить и т.д да и вообще хочу критики как новичёк)))
2. caballero - 20 Октября, 2012 - 19:10:13 - перейти к сообщению
Цитата:
вообще хочу критики как новичёк

это полная чушь даже если бы ты был старичком

на фига создавать структуру с помощью PHP?
если есть необходимость какой то инсталяции сложи скрипты в файл проверь его и запусти тремя строками PHP
3. nordghost - 20 Октября, 2012 - 19:18:34 - перейти к сообщению
Поподробнее можно?
4. caballero - 20 Октября, 2012 - 19:21:53 - перейти к сообщению
поподробнее о чем?
5. EuGen - 20 Октября, 2012 - 19:25:01 - перейти к сообщению
Создайте .sql-файл, в котором будет список запросов, необходимых для инициализации БД.
После запускайте его, если требуется, в php, например как
PHP:
скопировать код в буфер обмена
  1. exec('mysql -uUSER -pPASSWORD DATABASE < file.sql > /dev/null');

где USER, PASSWORD, DATABASE - данные для подключения, file.sql - файл с запросами.
6. nordghost - 20 Октября, 2012 - 19:28:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $connection=mysql_connect ($host,$login,$passwd);
  3. mysql_select_db($db, $connection) ;
  4. mysql_query("SOURCE db.sql");
  5. header("Location:step2.php");  
  6.  


А такая конструкция чем то хуже?
7. caballero - 20 Октября, 2012 - 19:48:12 - перейти к сообщению
а уверен что mysql будет иметь доступ к этому файлу?

нужно просто
$sql = file_get_contents($filepath);
mysql_query($sql);
8. nordghost - 20 Октября, 2012 - 19:56:59 - перейти к сообщению
Спасибо!

 

Powered by ExBB FM 1.0 RC1