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

Форум MySQL

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

 

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

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

тема: Знакомство с SQL
 
 автор: Roo$   (13.06.2006 в 00:11)   письмо автору
 
 

Вот решил разобраться с принципом работы, создания SQL .... Вообще, что это такое. Как можно создать таблицу, нужна прога??? Какая.

   
 
 автор: cheops   (13.06.2006 в 10:32)   письмо автору
 
   для: Roo$   (13.06.2006 в 00:11)
 

Для начала вам потребуется дистрибутив с СУБД, вы с какой хотите начать работу? MySQL?

   
 
 автор: Roo$   (13.06.2006 в 22:20)   письмо автору
 
   для: cheops   (13.06.2006 в 10:32)
 

А, они еще както подразделяются? Ну давай попробуем с MySQL? Что для этого нужно скатать

   
 
 автор: Roo$   (13.06.2006 в 22:22)   письмо автору
 
   для: cheops   (13.06.2006 в 10:32)
 

У меня дома есть mysql-4.0.20d-win и MySQL - Front. Это то?

   
 
 автор: cheops   (13.06.2006 в 22:25)   письмо автору
 
   для: Roo$   (13.06.2006 в 22:22)
 

Да это то... mysql-4.0.20d-win - у вас установлена? Т.е. висит ли процесс mysqld-nt.exe в диспетчере задач?

   
 
 автор: Roo$   (13.06.2006 в 22:27)   письмо автору
 
   для: cheops   (13.06.2006 в 22:25)
 

Да, он есть. Светафор какой то. Но как спомощью его можно созать таблицу? Я так понял что там все делается из cmd.exe (командную страку)

   
 
 автор: Roo$   (13.06.2006 в 22:58)   письмо автору
 
   для: cheops   (13.06.2006 в 22:25)
 

Помогите пожалуйста элементарно создать какую нибудь таблицу и с помощью PHP вносить туда данные. Или типа что нибудь токого. Мне главное разобраться с принципом работы mySql.

   
 
 автор: cheops   (14.06.2006 в 12:41)   письмо автору
 
   для: Roo$   (13.06.2006 в 22:58)
 

Таблицу следует создавать в MySQL Front или в каком-нибудь другом клиенте. Запустите MySQL Front и укажите в качестве адреса сервера localhost, в качестве имени пользователя root, в качестве пароля пустую строку. Выберите базу данных test и создайте в ней таблицу
CREATE TABLE tbl (
  field1 text NOT NULL,
  field2 text NOT NULL,
  field3 text NOT NULL,
  field4 text NOT NULL
) TYPE=MyISAM;

   
 
 автор: Roo$   (14.06.2006 в 21:04)   письмо автору
 
   для: cheops   (14.06.2006 в 12:41)
 

Создал таблицу. Теперь что дальше делать? Таблицу создавал второй прогай (Font)

   
 
 автор: Boss   (14.06.2006 в 21:20)   письмо автору
 
   для: Roo$   (14.06.2006 в 21:04)
 

А дальше вам надо определиться что вы хотите получить из этой таблицы.
Но сначала надо внести данные в эту таблицу.

   
 
 автор: Roo$   (14.06.2006 в 22:34)   письмо автору
 
   для: Boss   (14.06.2006 в 21:20)
 

А как вводить данные? Я хочу вводить данные через форму, например. Допустим у меня на форме есть text поле и button кнопка. По нажатию по кнопке данные, которые были введены в поле text, сохраняются в базу данных..

   
 
 автор: cheops   (14.06.2006 в 22:47)   письмо автору
 
   для: Roo$   (14.06.2006 в 22:34)
 

Для этого следует создать код новую таблицу с одним текстовым полем
CREATE TABLE tbl1 ( 
  field1 text NOT NULL, 
) TYPE=MyISAM;

Далее необходимо создать HTML-форму
<form action=handler.php method=post>
<input type=text name=name>
<input type=submit value='Записать'>
</form>

HTML-форма отправит информацию обработчику handler.php, который может иметь следующий код
<?php
  
// Устанавливаем соединение с базой данных
  
require_once("config.php");
  
// Экранируем спец-символы
  
if (!get_magic_quotes_gpc())
  {
    
$_POST['name'] = mysql_escape_string($_POST['name']);
  }
  
// Формируем SQL-запрос на добавление информации
  
$query "INSERT INTO tbl1 VALUES('$_POST[name]')";
  if(!
mysql_query($query)) exit(mysql_error());
  else echo 
"Данные успешно добавлены";
?>

Для успешной работы данного скрипта, понадобится вспомогательный файл config.php, который устанавливает соединение с базой данных
<?php
  
// Адерс сервера MySQL
  
$dblocation "localhost";
  
// Имя базы данных, на хостинге или локальной машине
  
$dbname "shop";
  
// Имя пользователя базы данных
  
$dbuser "root";
  
// и его пароль
  
$dbpasswd "";

  
// Устанавливаем соединение с базой данных
  
$dbcnx = @mysql_connect($dblocation$dbuser$dbpasswd);
  if (!
$dbcnx) {
   exit( 
"<P>В настоящий момент сервер базы данных не доступен,
             поэтому корректное отображение страницы невозможно.</P>" 
);
  }
  
// Выбираем базу данных
  
if (! @mysql_select_db($dbname$dbcnx) ) {
    exit( 
"<P>В настоящий момент база данных не доступна,
              поэтому корректное отображение страницы невозможно.</P>" 
);
  }

  
// Определяем версию сервера
  
$query "SELECT VERSION()";
  
$ver mysql_query($query);
  if(!
$ver) exit("Ошибка при определении версии MySQL-сервера");
  
$version mysql_result($ver0);
  list(
$major$minor) = explode("."$version);
  
// Если версия выше 4.1 сообщаем серверу, что будем работать с
  // кодировкой cp1251
  
$ver $major.".".$minor;
  if((float)
$ver >= 4.1)
  {
    
mysql_query("SET NAMES 'cp1251'");
  }
?>

   
 
 автор: Roo$   (14.06.2006 в 23:35)   письмо автору
 
   для: cheops   (14.06.2006 в 22:47)
 

Теперь как мне вывести (прочитать) эти сведения (внесенные в таблицу) в отдельную форму (например otchet.php)

   
 
 автор: cheops   (14.06.2006 в 23:57)   письмо автору
 
   для: Roo$   (14.06.2006 в 23:35)
 

Для этого обычно используют скрипт
<?php 
  
// Устанавливаем соединение с базой данных 
  
require_once("config.php"); 

  
// Формируем SQL-запрос на извлечение информации 
  
$query "SELECT * FROM tbl1"
  
$tbl mysql_query($query); 
  if(!
$tbl) exit(mysql_error());
  
// Если имеется хоть одна запись - выводим
  
if(mysql_num_rows($tbl))
  {
    while(
$table mysql_fetch_array($tbl))
    {
       echo 
$table['field']."<br>";
    }
  }
?>

   
 
 автор: Roo$   (15.06.2006 в 11:07)   письмо автору
 
   для: cheops   (14.06.2006 в 23:57)
 

Большое спасибо за помощь с SQL. теперь у меня есть хоть немного представления об этом. Вообще что можо хранить в базах данных? Для чего нужно указывать имя и пароль при подключении к базе данных?? Для чего нужно делать проверку версии бызы?

   
 
 автор: cheops   (15.06.2006 в 11:35)   письмо автору
 
   для: Roo$   (15.06.2006 в 11:07)
 

1) Хранить в базе данных можно всё: числа, строки, бинарные данные и даже геометрические объекты.
2)Логин и пароль следует указывать из-за того, что в каждой СУБД поддерживается система аутентификации и авторизации, пользователи как правило имеют доступ только к своим базам данных и не имеют к чужим - это удобно когда одни сервер обслуживает сотни клиентов (например, на хостинге).
3)Проверку версии обычно не нужно осуществлять, но сейчас период перехода от версий 3.23 и 4.0 к версиями 4.1 и 5.0. Последние версии требуют, чтобы клиент явно указывал кодировку соединения, т.е. в какой кодировке он будет передавать свою информацию. Это осуществляется при помощи оператор SET NAMES, старые версии этот оператор не поддерживают, поэтому осуществляется проверка версии перед тем как его выполнить.

   
 
 автор: Roo$   (15.06.2006 в 21:51)   письмо автору
 
   для: Roo$   (13.06.2006 в 00:11)
 

Дапустим, я хочу сделать регестрацию для пользователей сайта? Как мне его лучше бы сделать? Раньше я делал так: каждоый пользователь имел свой файл в котором хронился его пароль. А через базу данных как можно сделать? Создать таблицу: имя, пароль?

   
 
 автор: cheops   (15.06.2006 в 22:58)   письмо автору
 
   для: Roo$   (15.06.2006 в 21:51)
 

Под новые вопросы лучше заводить новые темы.

   
 
 автор: Vados   (16.06.2006 в 13:29)   письмо автору
 
   для: cheops   (15.06.2006 в 22:58)
 

Привет!

Также тебе поможет управлять СУБД MySQL классная вещь, как PHPMyAdmin.

Скачать последнюю версию, ты можешь: http://www.phpmyadmin.net/home_page/downloads.php

Удачного дня!

   
Rambler's Top100
вверх

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