|
автор: anton (05.01.2005 в 16:00) |
|
| Люди, я новичок полный.(только начинаю)
мне необходимо создать таблицу "news" в БД (на сервере)
никак не получается. (работаю через phpMyadmin)
у меня есть текст SQL-запроса но он у меня не проходит
то ругается что syntax ERROR то,что БД не выбрана
я думаю,что глюк из-за того, что phpMyAdmin меня не так логинит
как мне перелогинится со своим логином?
или подскажите как создать запрос который подконнектится к БД на сервере, залогинится в БД и создаст в ней таблицу, основываясь нa SQL-запросе) | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: 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 -запрос?) ? | |
|
|
|
|
|
|
|
для: 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);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.01.2005 в 13:56)
| | А как всетаки SQL-запрос вставить напрямую в PHP-скрипт | |
|
|
|
|
|
|
|
для: 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: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();
}
?>
|
| |
|
|
|