PHP Database Object

Содержание
Введение
Подключение к БД
Создание таблицы
Импорт из csv
Похожие статьи

Введение

php.net PDO удобен тем, что если вы вдруг поменяете СУБД, например, с MySQL на PostgreSQL в код будет нужно внести минимальные изменения, PDO сделать основную работу за вас.

Подключение к базе данных с помощью PHP PDO

Рассмотрим пример подключения к MySQL и будем использовать этот код в следующих примерах.

$srvname = "localhost"; $usrname = "user_dbname"; $password = "secret"; $dbname = "user_dbname"; try { $conn = new PDO("mysql:host=$srvname; dbname=$dbname", $usrname, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully&lgt;br>"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); }

Изображение баннера

Создание таблицы с помощью PHP PDO

Сперва нужно подключиться к базе данных

Пример создания таблицы

$sql="CREATE TABLE goods ( `Id` INT NOT NULL AUTO_INCREMENT , `available` BOOLEAN, `categoryId` VARCHAR(255) , `currencyId` VARCHAR(5) , `delivery` BOOLEAN, `description` VARCHAR(50), `downloadable` BOOLEAN, `shopId` INTEGER UNSIGNED , `local_delivery_cost` INTEGER UNSIGNED , `modified_time` BIGINT UNSIGNED , `name` VARCHAR(255), `oldprice` FLOAT, `picture` VARCHAR(255), `price` FLOAT, `sales_notes` VARCHAR(255), `type` VARCHAR(255), `url` VARCHAR(255), `vendor` VARCHAR(255), PRIMARY KEY (`Id`) )"; try { $conn->query($sql); echo "Table is created"; } catch(PDOException $e) { echo "Table is not created: " . $e->getMessage(); }

Импорт из csv файла PHP PDO

Пример добавления в эту таблицу данных из .csv файла

if (($handle = fopen("goods.csv", "r")) !== FALSE) { try { // prepare sql and bind parameters using PDO $stmt = $conn->prepare("INSERT INTO goods (available, categoryId, currencyId, delivery, description, downloadable, shopId, local_delivery_cost, modified_time, name, oldprice, picture, price, sales_notes, type, url, vendor) VALUES (:available, :categoryId, :currencyId, :delivery, :description, :downloadable, :shopId, :local_delivery_cost, :modified_time, :name, :oldprice, :picture, :price, :sales_notes, :type, :url, :vendor)"); $stmt->bindParam(':available', $available); $stmt->bindParam(':categoryId', $categoryId); $stmt->bindParam(':currencyId', $currencyId); $stmt->bindParam(':delivery', $delivery); $stmt->bindParam(':description', $description); $stmt->bindParam(':downloadable', $downloadable); $stmt->bindParam(':shopId', $shopId); $stmt->bindParam(':local_delivery_cost', $local_delivery_cost); $stmt->bindParam(':modified_time', $modified_time); $stmt->bindParam(':name', $name); $stmt->bindParam(':oldprice', $oldprice); $stmt->bindParam(':picture', $picture); $stmt->bindParam(':price', $price); $stmt->bindParam(':sales_notes', $sales_notes); $stmt->bindParam(':type', $type); $stmt->bindParam(':url', $url); $stmt->bindParam(':vendor', $vendor); } catch(PDOException $e) { echo "Prepare failed: " . $e->getMessage(); } // первая строка с названиями столбцов не нужна fgets($handle); while (($data = fgetcsv($handle, 100000, ";")) !== FALSE) { // присваиваем параметрам значения и выполняем запрос $available = $data[0]; $categoryId = $data[1]; $currencyId =$data[2]; $delivery = $data[3]; $description = $data[4]; $downloadable = $data[5]; $shopId = $data[6]; $local_delivery_cost = $data[7]; $modified_time = $data[8]; $name = $data[9]; $oldprice = $data[10]; $picture = $data[11]; if (isset($data[12])) { $price = $data[12]; } else { $price = ""; }; if (isset($data[13])) { $sales_notes = $data[13]; } else { $sales_notes = ""; } if (isset($data[14])) { $type = $data[14]; } else { $type = ""; } $url = $data[15]; $vendor = $data[16]; try { $stmt->execute($data); echo "Data inserted"; } catch(PDOException $e) { echo "Data is not inserted: " . $e->getMessage(); } } fclose($handle); $conn = null; }

Похожие статьи
Программирование на PHP
Массивы в PHP
Циклы в PHP
Дата и время в PHP - основы
Как отобразить время различных часовых поясов PHP
Как вставить переменную в ссылку PHP
json_decode
Как получить ширину экрана с помощью PHP
Вызов функции из другого файла
Premature end of chunk coded message body: closing chunk expected
Сгенерировать неповторяющиеся случайные числа PHP
Узнать свой HTTP_USER_AGENT
Сравнить две даты
Классы в PHP 8
Комментарии в PHP
Работа с базами данных
Работа с cookies
PHP sessions
Аутентификация и авторизация в PHP 8

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: