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

Форум MySQL

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

 

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

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

тема: Не могу создать таблицу в БД
 
 автор: anton   (05.01.2005 в 16:00)
 
 

Люди, я новичок полный.(только начинаю)
мне необходимо создать таблицу "news" в БД (на сервере)
никак не получается. (работаю через phpMyadmin)
у меня есть текст SQL-запроса но он у меня не проходит
то ругается что syntax ERROR то,что БД не выбрана
я думаю,что глюк из-за того, что phpMyAdmin меня не так логинит
как мне перелогинится со своим логином?
или подскажите как создать запрос который подконнектится к БД на сервере, залогинится в БД и создаст в ней таблицу, основываясь нa SQL-запросе)

   
 
 автор: cheops   (05.01.2005 в 16:51)   письмо автору
 
   для: anton   (05.01.2005 в 16:00)
 

1) При входе наблюдаете ли пункт меню "Выйти из системы"?
2) В левом выпадающем списке была ли выбрана база данных?
3) Для создания базы данных из SQL-файла sql.sql следует воспользоваться следующим кодом
<?php 
  
// Адрес базы данных
  
$dblocation "localhost"
  
// Имя базы данных 
  
$dbname "base"
  
// Имя пользователя... 
  
$dbuser "root"
  
// Пароль       
  
$dbpasswd ""
  
// Соединяемся с сервером базы данных - нужно получить соединение 
  // по которому мы будем отправлять запросы базе данных и получать 
  // ответы (данные или сообщения об успешности выполнения запросов) 
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); 
  if (!
$dbcnx
  { 
    echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому корректное 
                       отображение страницы невозможно.</P>" 
); 
    exit(); 
  } 
  
// Выбираем базу данных - этой функцией мы сообщаем с какой 
  // базой данных мы будем работать, заметте, что вторым 
  // параметром мы передаем дискриптор соединения $dbcnx, 
  // который вернула функция mysql_connect 
  
if (! @mysql_select_db($dbname,$dbcnx) ) 
  { 
    echo( 
"<P>В настоящий момент база данных не доступна, поэтому корректное 
                       отображение страницы невозможно.</P>" 
); 
    exit(); 
  } 
  
// Имя файла с SQL-инструкциями
  
$filename "sql.sql"
  
// открываем его и читаем в буфер 
  
$fp fopen($filename"r"); 
  
$bufer fread($fp,filesize($filename)); 
  
fclose($fp); 
  
// Разбиваем содержимое файла по точке с запятой 
  
$quer preg_split("|\);\r\n|"$bufer); 
  
// Выполняем SQL-запросы 
  
foreach($quer as $query
  { 
    if(!
mysql_query($query.")")); 
  } 
?>


http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1004

   
 
 автор: and_alex   (08.01.2005 в 13:42)   письмо автору
 
   для: cheops   (05.01.2005 в 16:51)
 

Как интересно. А как должен быть написан sql.sql, например так пойдет?
CREATE TABLE posts (
  id_post int(11) NOT NULL auto_increment,
  name text,
  url text,
  file text,
  author text,
  id_author int(6) default NULL,
  hide int(1) default NULL,
  time datetime default NULL,
  parent_post int(11) default NULL,
  id_theme int(11) default NULL,
  PRIMARY KEY  (id_post)
) TYPE=MyISAM;

Кстати, а в PHP код можно вставить напрямую такую строку (это называется SQL -запрос?) ?

   
 
 автор: cheops   (08.01.2005 в 13:56)   письмо автору
 
   для: and_alex   (08.01.2005 в 13:42)
 

Вот как раз на таком запросе это скрипт может споткнуться :))), здесь придётся заменить строку
<?php
$quer 
preg_split("|\);\r\n|"$bufer); 
?>

на
<?php
$quer 
preg_split("#\);\r\n|M;\r\n#i"$bufer); 
?>

   
 
 автор: and_alex   (10.01.2005 в 07:33)   письмо автору
 
   для: cheops   (08.01.2005 в 13:56)
 

А как всетаки SQL-запрос вставить напрямую в PHP-скрипт

   
 
 автор: cheops   (10.01.2005 в 11:48)   письмо автору
 
   для: and_alex   (10.01.2005 в 07:33)
 

Это зависит от типа SQL-запроса - возвращаются в результате данные или нет. Так если данные не возвращаются можно просто передать функции mysql_query - SQL-запрос (предварительно, конечно, осуществив соединение с базой данных и её выбор - это обычно оформляется в виде отдельного файла config.php и подключается инструкцией include):
<?php
  
// Устанавливаем содинение с базой данных
  
include "config.php";
  
// Осуществляем SQL-запрос
  
if(mysql_query("UPDATE tbl SET name='Протон'"))
  {
    echo 
"Запрос успешно выполнен";
  }
  else
  {
    echo 
"Запрос выполнен неудачно";
  }
?>

При выполнении оператора SELECT возвращающего один результат, для его извлечения можно воспользоваться функцией mysql_result:
<?php
  
// Устанавливаем содинение с базой данных
  
include "config.php";
  
// Осуществляем SQL-запрос
  
$vl $mysql_query("SELECT value FROM tbl");
  
// Если дескриптор SQL-запроса не пустой
  
if(!$vl) exit(mysql_error());
  
// Извлекаем результат
  
$value mysql_result($vl,0);
  echo 
$value;
?>

При выполнении оператора SELECT возвращающего многострочный результат, для его извлечения можно воспользоваться функцией mysql_fetch_array:
<?php
  
// Устанавливаем содинение с базой данных
  
include "config.php";
  
// Осуществляем SQL-запрос
  
$vl $mysql_query("SELECT * FROM tbl");
  
// Если дескриптор SQL-запроса не пустой
  
if(!$vl) exit(mysql_error());
  
// Извлекаем результат
  
while($value mysql_fetch_array($vl))
  {
     echo 
$value['id_table']." - ".$value['name']."<br>";
  }
?>

PS Вообще о функциях для работы с MySQL вы можете почитать в нашем справочнике http://www.softtime.ru/group/id_group=2

   
 
 автор: cheops   (10.01.2005 в 11:50)   письмо автору
 
   для: cheops   (10.01.2005 в 11:48)
 

Файл config.php должен выглядеть примерно следующим образом:
<?php
  
// Адрес базы данных 
  
$dblocation "localhost"
  
// Имя базы данных 
  
$dbname "base"
  
// Имя пользователя... 
  
$dbuser "root"
  
// Пароль        
  
$dbpasswd ""
  
// Соединяемся с сервером базы данных - нужно получить соединение 
  // по которому мы будем отправлять запросы базе данных и получать 
  // ответы (данные или сообщения об успешности выполнения запросов) 
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); 
  if (!
$dbcnx
  { 
    echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому корректное 
                       отображение страницы невозможно.</P>" 
); 
    exit(); 
  } 
  
// Выбираем базу данных - этой функцией мы сообщаем с какой 
  // базой данных мы будем работать, заметте, что вторым 
  // параметром мы передаем дискриптор соединения $dbcnx, 
  // который вернула функция mysql_connect 
  
if (! @mysql_select_db($dbname,$dbcnx) ) 
  { 
    echo( 
"<P>В настоящий момент база данных не доступна, поэтому корректное 
                       отображение страницы невозможно.</P>" 
); 
    exit(); 
  } 
?>

   
Rambler's Top100
вверх

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