Вернуться   Форумы Якутск Онлайн > Портал > Pages.ya1.ru
Pages.ya1.ru О работе бесплатного хостинга Pages.ya1.ru

Ответ
 
Опции темы Опции просмотра

!!!MySQL!!! Как подключиться к MySQL через PHP
Старый 12.02.2011, 00:22   #1
vintwebpro
Участник
 
Аватар для vintwebpro
 
vintwebpro вне форума
Регистрация: 20.10.2010
Адрес: г. Якутск
Сообщений: 300
vintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутацию
Thumbs up !!!MySQL!!! Как подключиться к MySQL через PHP

Спасибо, что зашли! Как раз узнаете, что надо делать во-первых, чтобы подключиться к Базе Данных через PHP, что надо делать, чтобы вывести таблицу товаров либо прочих предметов через PHP из MySQL(всё делаем с чистого листа, без всяческих движков)

Цитата:
Во-первых:
Создаём файл mysql_connection.php на сервере. Вписываем в него:
Код:
<?php
# Type="MYSQL"
# HTTP="true"
$db_hostname = "СЕРВЕР";
$db_database = "БАЗА_ДАННЫХ";
$db_username = "ПОЛЬЗОВАТЕЛЬ";
$db_password = "ПАРОЛЬ";
$_mysqlconnection = mysql_pconnect($db_hostname, $db_username, $db_password) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
Пишем вместо СЕРВЕР сервер(хост), на котором стоит База Данных(на домашних серверах: localhost); пишем вместо БАЗА_ДАННЫХ название базы данных, которую будем использовать позже в своих целях; пишем вместо ПОЛЬЗОВАТЕЛЬ имя пользователя базы данных(обычно, бывает дело, когда используют то же название, какое у базы данных, то есть база данных иногда содержит имя пользователя); пишем вместо ПАРОЛЬ пароль пользователя SQL. Таким образом, MySQL выполняет подключение pconnect...
Цитата:
Как подключаться к Базе Данных через другой PHP-скрипт при наличии mysql_connection.php, для послания запросов в неё?
Создаём, к примеру, файл test.php. Вписываем в него:
Код:
<?php require_once("mysql_connection.php"); mysql_select_db($db_database, $_mysqlconnection); ?>
Вроде бы просто! Теперь в test.php можно делать запросы к БД с легкостью. Но теперь беда в другом: как?
Цитата:
Какие запросы существуют? (специальный QUICK REFFERENCE для Вас, пока что SELECT)
Открываем известный нам файл test.php, в котором присутствует подключение к Базе Данных.


Обсудим любимый всеми веб-мастерами выбор колонок и строк:SELECT
SELECT КОЛОНКИ FROM ТАБЛИЦА - выбирает особые колонки из нужной таблицы(чтобы выбрать все колонки, вставьте звёздочку вместо КОЛОНКИ).
А вот алгоритмы данной функции:
[WHERE УСЛОВИЕ(Я)] - алгоритм(ГДЕ УСЛОВИЕ) показывает, что он может выбрать особые строки, где, например, содержимое колонки выбранной строки равно заданному содержимому.
[ORDER BY КОЛОНКА [ASC|DESC] - алгоритм(УПОРЯДОЧИТЬ ПО КОЛОНКА [АЛФАВИТНЫЙ|ПРОТИВОАЛФАВИТНЫЙ] ПОРЯДОК) показывает, что он может выбрать строки в [алфавитном/противоалфавитном] порядке заданной колонки.
Примеры:
1. Показ пользователей, которые забанены:
SELECT `nick`, `banned` FROM `users` WHERE `banned` = 1
2. Показ в алфавином порядке все товары:
SELECT `name` FROM `products` ORDER BY `name` ASC


Теперь посмотрим, на что способны DELETE и DROP TABLE. Смотря в словарь мы логично замечаем, что эти функции выполняют роль освобождения Базы Данных - всё правильно!

DELETE FROM ТАБЛИЦА - уничтожает из нужной таблицы все строки, не удаляя колонок.
Есть один знакомый алгоритм этой функции:
[WHERE УСЛОВИЕ(Я)] - алгоритм(ГДЕ УСЛОВИЕ) показывает, что он может уничтожить особые строки, где, например, содержимое колонки выбранной строки равно заданному содержимому.

DROP TABLE ТАБЛИЦА(Ы) - уничтожает таблицу и её данные из Базы Данных(можно выбрать несколько таблиц)

Примеры:
1. Удаляем все новости из Базы Данных, которые относятся к категории с идентификатором 2:
DELETE FROM `news` WHERE `category` = '2'
2. Уничтожаем таблицу с баннерами:
DROP TABLE `banners`
Цитата:
Мы изучили, какие запросы бывают, а теперь надо бы подумать, как выполнить его на PHP...
Тут даже думать не надо! Всего-лишь вписываем в test.php перед ?> следующее:
Код:
$sql = "ЗАПРОС";
mysql_query($_sql, $_connection) or die("Извините, но произошла ошибка в сервере. Обратитесь к администратору.");
Просто вписываем вместо слова ЗАПРОС запрос, который надо выполнить.
Всё просто и легко!
Но пока я не показал, как вывести таблицу, как в HTML(напишу об этом позже), но есть временный способ убедиться во всём: для выполнения запроса, Вы просто можете войти в phpMyAdmin, выбрать нужную базу данных, нажать на вкладку "SQL", ввести/вставить запрос, нажать "Go" или "Пошли" - результат Вы увидите точно!
Цитата:
Ну, а теперь то, чего многие ожидали узнать...
Выводим таблицу "на свежий воздух", а точнее в HTML...
Код:
$_sql = "SELECT * FROM users WHERE `sex` = 'W' and `banned` = '1'";
$_query = mysql_query($_sql, $_connection1) or die("Извините, произошёл сбой в базе данных. Обратитесь к администратору...");
$_rowquery = mysql_fetch_assoc($_query);
$_numquery = mysql_num_rows($_query);
$i = 0;
echo "<table width='100%' cellspacing='0' cellpadding='0'>";
while ($i < $_numquery) {
mysql_free_result($_query);
echo "<tr><td bgcolor='#FFDDFF'>" . $_rowquery['nick'] . "</td></tr>";
$i++;
$_sql = "SELECT * FROM users WHERE `sex` = 'W' and `banned` = '1' LIMIT $i, 1";
$_query = mysql_query($_sql, $_connection1) or die("Извините, произошёл сбой в базе данных. Обратитесь к администратору...");
$_rowquery = mysql_fetch_assoc($_query);
}
mysql_free_result($_query);
echo "</table>";
Логика ясна... Скрипт отображает забаненных женщин. :D Для этого использовался цикл WHILE, который мне больше всего нравится, а почему? Да потому что в нём можно установить обычное условие, при котором и будет всё делаться... FOR было бы не очень хорош для вывода колонок, потому что число $i плюсуется именно В СЕРЕДИНЕ цикла, а точнее перед тем, как дать скрипту прочесть следующую строку... Вы заметили, что запрос копируется в начале и в цикле(не трогая добавки "LIMIT $i, 1") - так всегда!
Никогда не убирайте добавку "LIMIT $i, 1" в запросе цикла, т.к. она выдаёт нам следующую строку в таблице! А для чего число $i нужно, Вы, походу, догадались.
Спасибо за прочтение!!!

Оценивайте, я сам научился специально для Вас ведь...

Последний раз редактировалось vintwebpro, 12.02.2011 в 14:49.
  Ответить с цитированием

Старый 12.02.2011, 03:42   #2
vintwebpro
Участник
 
Аватар для vintwebpro
 
vintwebpro вне форума
Регистрация: 20.10.2010
Адрес: г. Якутск
Сообщений: 300
vintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутацию
По умолчанию

Кто бы такую документацию раньше меня сформулировал, я бы вообще всю жизнь его благодарил... O_o
Теперь придётся свою головку благодарить...
  Ответить с цитированием

Старый 12.02.2011, 12:59   #3
vintwebpro
Участник
 
Аватар для vintwebpro
 
vintwebpro вне форума
Регистрация: 20.10.2010
Адрес: г. Якутск
Сообщений: 300
vintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутацию
По умолчанию

Ыыыыы... :D

Принимаю заказы по ActionScript:
http://forum.ya1.ru/showthread.php?p=1058989679

Принимаю заказы по GML:
http://forum.ya1.ru/showthread.php?p=1058990082

Последний раз редактировалось vintwebpro, 12.02.2011 в 13:53.
  Ответить с цитированием

Старый 12.02.2011, 13:07   #4
vintwebpro
Участник
 
Аватар для vintwebpro
 
vintwebpro вне форума
Регистрация: 20.10.2010
Адрес: г. Якутск
Сообщений: 300
vintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от XtenD-Vas Посмотреть сообщение
Проверь скриптик конфига если не трудно
Код:
<?php
define('HOST_MSSQL','localhost');
define('LOGIN_MSSQL','censored');
define('PASSWORD_MSSQL','censored);
define('_WORLD_','RF_World');
define('_ACC_','tbl_rfaccount'); 
?>
По идее должен выполнять запросы в БД , по восстановлению , но выводит ошибку при попытке записи в БД - SQL Injection Inside.
MSSQL? O_o Это документация по MySQL...
  Ответить с цитированием

Старый 14.02.2011, 22:23   #5
vintwebpro
Участник
 
Аватар для vintwebpro
 
vintwebpro вне форума
Регистрация: 20.10.2010
Адрес: г. Якутск
Сообщений: 300
vintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутацию
По умолчанию

ЗАКАЗЫ ПО JAVASCRIPT И PHP ПРИНИМАЮ НА БАРАХОЛКЕ:
http://market.ya1.ru/#id:138488
  Ответить с цитированием

Старый 15.02.2011, 09:11   #6
Regis Filius
SuperVisor TF2
 
Regis Filius вне форума
Регистрация: 21.06.2008
Сообщений: 623
Regis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от XtenD-Vas Посмотреть сообщение
Проверь скриптик конфига если не трудно
Код:
<?php
define('HOST_MSSQL','localhost');
define('LOGIN_MSSQL','censored');
define('PASSWORD_MSSQL','censored);
define('_WORLD_','RF_World');
define('_ACC_','tbl_rfaccount'); 
?>
По идее должен выполнять запросы в БД , по восстановлению , но выводит ошибку при попытке записи в БД - SQL Injection Inside.
Кроме объявления констант этот код ничего не делает.
  Ответить с цитированием

Старый 15.02.2011, 13:39   #7
vintwebpro
Участник
 
Аватар для vintwebpro
 
vintwebpro вне форума
Регистрация: 20.10.2010
Адрес: г. Якутск
Сообщений: 300
vintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутациюvintwebpro имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от Regis Filius Посмотреть сообщение
Кроме объявления констант этот код ничего не делает.
хех константы только и видны
define define и ещё раз define! +1
  Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +9, время: 22:22.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2024, Якутск-Online. Перевод: zCarot