php выбор базы данных

mysql_select_db

mysql_select_db — Выбирает базу данных MySQL

Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:

Описание

Выбирает для работы указанную базу данных на сервере, на который ссылается переданный дескриптор соединения. Каждый последующий вызов функции mysql_query() будет работать с выбранной базой данных.

Список параметров

Имя выбираемой базы данных.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_select_db()

Примечания

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_selectdb()

Смотрите также

User Contributed Notes 8 notes

Be carefull if you are using two databases on the same server at the same time. By default mysql_connect returns the same connection ID for multiple calls with the same server parameters, which means if you do

You have two options here, eiher you have to call mysql_select_db before each query you do, or if you’re using php4.2+ there is a parameter to mysql_connect to force the creation of a new link.

About opening connections if the same parameters to mysql_connect() are used: this can be avoided by using the ‘new_link’ parameter to that function.

This parameter has been available since PHP 4.2.0 and allows you to open a new link even if the call uses the same parameters.

Cross-database join queries, expanding on Dan Ross’s post.

Really, this is a mysql specific feature, but worth noting here. So long as the mysql user has been given the right permissions to all databases and tables where data is pulled from or pushed to, this will work. Though the mysql_select_db function selects one database, the mysql statement may reference another (the syntax for referencing a field in another db table being ‘database.table.field’).

= «SELECT
PostID,
AuthorID,
Users.tblUsers.Username
FROM tblPosts
LEFT JOIN Users.tblUsers ON AuthorID = Users.tblUsers.UserID
GROUP BY PostID,AuthorID,Username
» ;

Источник

PHP и базы данных

Начинающие программисты PHP часто встречаются с таким вопросом, как: «С какими базами данных может работать язык программирования php?» или «Какие базы данных поддерживает язык php?». Сегодня я постараюсь ответить на этот вопрос, тем более что ответ очень простой: php работает почти со всеми базами данных!

Начну я как обычно с теории для начинающих, так как статья предназначена именно для новичков, которые только начали изучать php или только собираются. Сейчас мы поговорим об общих возможностях php.

PHP (PHP: Hypertext Preprocessor или Personal Home Page Tools) – это серверный, скриптовой язык web программирования. В этом определении я упомянул приставку «web», это и понятно, так как язык php получил огромную популярность при разработке web приложений, сайтов и является, наверное, самым популярным языком разработки сайтов. Снова повторюсь, что это именно серверный язык программирования, который выполняется на стороне сервера в отличие от, например, javascript. Популярность вызвана следующим:

Теперь немного поясню, почему php является простым языком, да потому что на нем можно программировать как с использованием процедурного подхода, так и с объектно-ориентированным. PHP является си подобным языком программирования, поэтому все кто когда-нибудь сталкивался с такими языками как: си, си++, javascript, c# и другими, без проблем смогут освоить php, к тому же мне кажется, что по сравнению со всеми такими языками, php является самым простым. Все языковые конструкции простые, логичны и легко запоминаются в отличие от других языков программирования. Поэтому базовые знания php, для создания простых сайтов, можно получить уже через нескольких часов чтения мануала на официальном сайте, я, кстати, всегда и всем рекомендую пользоваться только первоисточниками, иногда конечно бывает непонятно, но это не касается php (официальный сайт php.net).

Исходя из этого преимущества, можно сделать вывод, что помимо официального сайта для php в интернете просто очень много все возможной документации.

Под удобностью я понимаю то, что php можно использовать на многих платформах, таких как: Windows, Linux, Mac OS X и других. Возможность работы со многими web серверами, такими как: Apache, IIS и другими. Сюда я также отнесу и главную тему сегодняшней статьи это то, что php умеет работать со многими базами данных, давайте кратко рассмотрим эти базы данных, все они на сегодняшний день очень популярны.

Популярные базы данных

MySQL – бесплатная, и самая популярная СУБД для разработки сайтов в Интернете. Словосочетание PHP+MySql становится единым целым и многие думают, что эта связка поставляется вместе и не разделима, что в свою очередь и путает многих начинающих web-мастеров, которые и задают такие вопросы как – «какие базы поддерживает php?», «А работает ли php с той или иной базой данных?» По поводу этой СУБД можно сказать еще и то, что да, она отлично работает в данной связке и является лучшим вариантом для использования на сайте в Интернете.

PostgreSQL – также бесплатная СУБД, но менее популярна в Интернете для создания web сайта, но отлично впишется в связке с php, например, при разработке корпоративного приложения у Вас на работе.

SQLite – самая простая бесплатная база, ее даже не нужно устанавливать, она все хранит в текстовых файлах. Отлично подойдет для простого хранения небольшого объема данных, но для нормального web приложения она конечно не подойдет. Следует отметить то, что у SQLite есть новые версии, такие как SQLite3, в которой больше возможностей по сравнению с предыдущей версией.

MS SQL – это всем известный Microsoft SQL Server. Он является платным, поэтому, как мне кажется, не так популярен среди web мастеров в Интернете. Но это не говорит о том, что он плохо работает с php, просто это сочетание менее популярно. Данное сочетание также отлично впишется в корпоративную среду.

Oracle – как я говорю это СУБД всем СУБД! Для крупных компаний эта СУБД является лучшей, поэтому она, конечно же, платная. Если говорить о связке php+Oracle, то это также менее популярная связка. Но некоторые используют именно в таком сочетании (опять же токи в крупных компаниях).

dBase – старая база данных, наверное, все знают такие файлы с расширением dbf, так вот это, и есть файлы этой базы. Php умеет работать и с этой базой, но это, я думаю, редко используют на практике.

Помимо всех известных баз данных, php может работать со следующими базами:

Подключение модулей PHP для поддержки баз данных

Вот мы рассмотрели базы, с которыми неплохо работает и поддерживает язык программирования php. Теперь давайте рассмотрим пару примеров настройки php для взаимодействия с этими базами данных, т.е. подключение необходимых модулей, так как в php по умолчанию поддержка этих баз данных отключена. Для справки, php это модульная система и каждый модуль отвечает за нужную возможность или поддержку того или иного взаимодействия. Другими словами, можно даже самим написать необходимую библиотеку и подключить ее к php.

Источник

Вечная тема с PHP и MySQL

Всем привет! Наверняка каждый из тех, кто много и постоянно пишет на PHP сталкивался с вопросом оптимизации и упрощения запросов в базы данных MySQL. Кто-то написал уже себе удобные классы/процедуры, кто-то нашел что-нибудь на просторах сети.

Поскольку у меня скрипты на PHP все больше и больше начинают сворачиваться к одной задаче — выборке из базы данных и передаче этих данных клиентским Java-скриптам, я себе облегчил участь тем, что создал удобный (для меня, конечно) класс по работе с базами данных MySQL.

Сразу оговорюсь — встроенный класс mqsli достаточно удобен и функционален, но сталкиваясь день ото дня с одними и теми же вопросами было бы странно немного не облегчить свою участь.

Вашему вниманию предлагается класс exDBase, это по сути своей оболочка для класса mysqli. Сразу оговорюсь — я программист начинающий, и готов в комментариях или личных сообщениях получить массу критики за написанный код. Я не очень владею RegExp например, которые сильно бы упростили код, возможно есть и другие претензии. Но, тем не менее…

Вся библиотека содержится в одном файле — exdbase.php. Это файл содержит описание класса exDBase. Чтобы начать работать, нужно просто, скачав файл, прописать такую строчку:

Для начала создадим экземпляр класса, это очень просто:

В свойстве $DB->error всегда будет ошибка последней операции (если была ошибка), либо оно будет пустым.

Формат практически идентичен созданию экземпляра класса mysqli. Естественно, вместо указанных в примере констант нужно подставить реальные значения для хоста, имени пользователя, пароля и имени базы данных.

Теперь можно и поупражняться. Допустим у нас есть готовая база данных, и в ней есть таблица clients с полями:

ID — уникальный номер, автоинкремент
NAME — имя клиента
AGE — возраст клиента
AMOUNT — сумма покупок
BLOCKED — булева переменная, заблокирован клиент или активен
SETTINGS — личные параметры, мы их храним в формате JSON

Запрос в базу данных

Давайте получим все записи из таблицы ‘clients‘. Для этого существует метод fetchArray.

А если мы хотим получить только первую запись запроса? Для этого есть метод fetchFirst.

Но, нам вряд ли понадобится получать все записи из таблицы, всегда есть условия отбора (поле WHERE в команде SELECT). Как нам поступить? Да очень просто. Это второй аргумент методов fetchArray или fetchFirst.

Допустим, что мы хотим выбрать всех клиентов с именем John. В нашем классе это можно сделать двумя способами.

Первый — просто задать условие строкой вида «NAME = ‘John’»

Второй — задать условие массивом:

А если есть еще условия? Например, возраст должен равняться 30 лет? Легко:

Таким образом можно объединять несколько условий поиска. Но равенство… А если мы хотим найти всех клиентов с именем John, которые старше 25 лет? Тут на помощь приходят специальные префиксы:

Кроме «>=» вы можете использовать: «>», » «, «!=». Таким образом можно создавать запросы разной степени сложности и всегда получать нужные ответы.

Третий параметр методов выборки из базы данных — это поля таблицы. Их можно задать как строкой (например: «NAME, AGE»), так и массивом: array («NAME», «AGE»).

Четвертый и последний параметр методов выборки fetchArray и fetchFirst это порядок сортировки. Он также задается либо строкой (типа: «ID ASC, NAME DESC») либо массивом array («ID» => «ASC», «NAME» => «DESC»).

Ну, заканчивая с получением данных вы спросите — а как лимитировать выборку? Например, нужны только 10 первых записей?

Это делается методом setLimit(), вот так:

Метод setLimit() работает только на один запрос, после этого лимиты обнуляются.

Вставка новых данных

Для записи новых данных существует метод insert().

Он возвращает значение первичного ключа автоинкремента (если такой задан в таблице). В нашем случае он вернет ID вставленной записи.

Обновление данных

Обновление данных осуществляется методом update().

Мы обновили все записи где имя (поле NAME) — это ‘Peter’. Второй аргумент метода — это условие выбора, точно в таком же формате как WHERE для SELECT. Ну, а третий аргумент метода — это сами данные. Теперь у всех таких записей с именем ‘Peter’ возраст будет равен 30, а сумма — 2000.25.

Удаление данных

Если вы уже поняли логику работы библиотеки, то удаление дастся очень просто. Метод называется delete().

Вот такой вот первый краткий экскурс в библиотеку exDBase. Существует еще целый ряд других, более продвинутых функций, но об этом в другой раз.

Источник

Работа с базами данных SQL в PHP для новичков

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

Что такое база данных

Это могут быть тексты страниц, списки пользователей с их логинами и паролями, каталоги продукции и другое.

База данных состоит из таблиц. Что такое таблица вы знаете из жизни: это строки и столбцы. А на пересечении строк и столбцов располагаются ячейки.

В базах данных столбцы часто называют полями.

PhpMyAdmin

Для редактирования баз данных часто пользуются программой PhpMyAdmin.

Видео на PhpMyAdmin

Задачи на PhpMyAdmin

Давайте откроем PhpMyAdmin и приступим к изучению его интерфейса.

Чтобы вам было проще с ним освоится, сделайте следующие практические задачи:

AUTO_INCREMENT

Обратите внимание на то, что мы создали поле id и поставили ему галочку AUTO_INCREMENT. Это очень важный шаг!

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

При этом если мы удалим строку с каким-то id (например 1), то такого id больше никогда не будет.

Зачем нужно поле id?

Затем, чтобы мы всегда могли обратиться к конкретной строке по ее id, например с целью удаления или редактирования.

Типы переменных

В SQL довольно много типов переменных, но чаще всего приходится пользоваться следующими:

Как работать с mySQL через PHP

Работа с БД из PHP осуществляется всего лишь с помощью трех функций:

Далее подробнее про каждую из функций.

Устанавливаем соединение с БД

Данный материал есть также в виде видео: https://youtu.be/J8GFuyA_k_8

Прежде, чем начать работать с базой данных из PHP, нужно установить соединение с сервером, на котором эта база находится.

Делается это с помощью функции PHP mysql_connect, которая принимает 3 параметра: имя хоста (сервера), имя пользователя, под которым мы работаем с базой и пароль для этого пользователя.

Давайте установим соединение с базой данных:

Посылаем запросы к базе данных

Это относиться к командам SELECT, UPDATE, FROM, DELETE, WHERE и другим такого рода.

Конечно, синтаксической ошибки не будет, если вы напишите их маленькими буквами, но принято большими.

Отлавливаем ошибки базы данных

Многие начинающие зачастую не умеют отлавливать ошибки, которые вернула база данных.

Чтобы вывести ошибки, следует пользоваться конструкцией or die ( mysqli_error($link) ), которую необходимо добавлять к каждому запросу к БД.

Таким образом вы сразу будете получать сообщения об ошибках синтаксиса SQL. Обратите внимание на то, что на рабочем сайте эти конструкции следует удалять, чтобы пользователи и тем более хакеры не видели ошибок БД.

Проблемы с кодировками

Чтобы не было проблем с кодировками следует придерживаться простых правил:

Начнем практиковаться

Сейчас мы с вами начнем изучить SQL запросы на практике. Для этого нам понадобится тестовая таблица в базе данных, заполненная некоторыми данными. Сейчас мы с вами ее сделаем и заполним.

Итак, создайте свою первую базу данных с помощью PhpMyAdmin.

Создайте в этой базе новую таблицу.

Назовите ее «workers» (англ. работники).

В ней создайте 4 столбца (столбцы по другому называются поля):

Ее заполните тестовыми данными, как показано в таблице ниже (этот шаг обязателен, так как дальше все задачи будут по этой таблице):

idnameagesalary
1Дима23400
2Петя25500
3Вася23500
4Коля301000
5Иван27500
6Кирилл281000

Тестируем работоспособность

Просто скопируйте этот код и запустите его у себя:

В таком случае проверьте все еще раз, уберите последовательно все ошибки PHP, если таковые есть.

Как достать результат

После того, как мы сделали запрос к базе, в переменной $result будет лежать результат этого действия.

Однако лежит он не в той форме, которая нам нужна в PHP, а в той форме, в которой его прислала нам база.

Достать результат в нормальном виде (в массиве) можно с помощью следующего кода:

Как работает последняя строка?

Функция mysqli_fetch_assoc считывает последовательно каждую строку результата, который прислала нам база.

В цикле for мы считываем построчно результат из базы.

А результат из БД будет лежать в нормальном виде в массиве $data.

Источник

PHP: работа с БД MySQL

php выбор базы данных. Смотреть фото php выбор базы данных. Смотреть картинку php выбор базы данных. Картинка про php выбор базы данных. Фото php выбор базы данных

Базы данных используются для удобного хранения информации, а также для её структурирования. Они являются очень важной вещью для создания динамических веб-сайтов.

Их используют для:

В этой статье мы научимся вставлять, изменять, получать и защищать данные из БД MySQL, используя PHP.

Основная разница в том, что PDO может работать с огромным количеством баз данных: MySQL, Cubrid, Oracle, SQlite и так далее. А mysqli может работать только с MySQL.

В своей статье я покажу, как работать с PDO.

Примеры показывать буду на локальном сервере ( xampp ).

Создание БД и таблиц

Создать БД можно из панели управления хостингом, если есть такая возможность, а если нет, то из phpMyAdmin. Сравнение ставим utf8_general_ci.

php выбор базы данных. Смотреть фото php выбор базы данных. Смотреть картинку php выбор базы данных. Картинка про php выбор базы данных. Фото php выбор базы данных

Теперь мы имеем готовую БД и таблицу для работы с ней.

Подключение к БД с помощью PHP

Создаём файл index.php и прописываем:

Мы создали подключение к БД. Подключение от PDO не нужно закрывать, оно само закрывается, когда скрипт завершает свою работу.

Выборка данных

Здесь я сделаю небольшое отступление. Выбирать данные можно:

PDO::FETCH_ASSOC — возвращает массив с названиями столбцов в виде ключей.

PDO::FETCH_OBJ — возвращает анонимный объект со свойствами, соответствующими именам столбцов.

Fetch() — каждый раз извлекает следующую строку.

Продолжаем скрипт:

В данном случае код выведет логин всех, кто есть в таблице.

В данном случае код выведет также логин всех, кто есть в таблице.

Выборка данных по параметру + защита

Мы можем выбирать определённые данные из таблицы. Например, мы можем выбрать все записи, где pass = 123, и тому подобные.

Вот первый пример выборки по логину + защита:

Можно указать несколько вопросительных знаков, а в execute перечислить замены для них через запятую.

Вот второй пример выборки по логину + защита:

Второй способ использовать предпочтительнее, так как читаемость и понятность кода более понятна, чем в первом примере, но использовать можно два способа.

Вставка данных по параметру + защита

Теперь можем проверить таблицу. Видим, что всё сработало правильно.

Обновление данных по параметру + защита

Теперь можем проверить таблицу. Видим, что всё сработало правильно.

Заключение

Как видите, работать с PDO довольно легко. Теперь вы сами можете создавать веб-сайты с базами данных.

Надеюсь, что вам понравилась статья, и вы получили новые знания.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *