Для записи данных, полученных через API биржи Binance, в базу данных с помощью PHP, вам потребуется выполнить несколько шагов. Давайте предположим, что у вас уже есть установленный и подключенный PHP Binance Connector, а также что у вас есть доступ к базе данных. В качестве примера можно использовать MySQL с расширением PDO для PHP.
Во-первых, вам нужно определить структуру вашей базы данных и создать соответствующую таблицу, которая будет хранить данные из API.
Во-вторых, настроить соединение с базой данных.
В-третьих, определите callback-функцию, которая будет обрабатывать данные от Binance и записывать их в базу.
Ниже приводится пример кода, который демонстрирует, как это может быть реализовано:
```php
<?php
require 'vendor/autoload.php'; // Подключите автозагрузчик Composer, если используется
// Настройка соединения с базой данных
$host = '127.0.0.1';
$db = 'your_database';
$user = 'your_username';
$pass = 'your_password';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
// Подключаемся к WebSocket Binance
$api = new Binance\API('YOUR_API_KEY','YOUR_SECRET');
$endpoint = "btcusdt@trade"; // Например, можно подписаться на торговые данные по паре BTC/USDT
// Callback-функция для обработки данных
$callback = function($api, $symbol, $data) use ($pdo) {
// Извлечение данных из $data для сохранения в БД
$price = $data['p']; // Текущая цена
$quantity = $data['q']; // Количество
// Подготовка запроса на вставку
$stmt = $pdo->prepare("INSERT INTO trades (symbol, price, quantity) VALUES (:symbol, :price, :quantity)");
// Выполнение запроса на вставку
$stmt->execute(['symbol' => $symbol, 'price' => $price, 'quantity' => $quantity]);
};
// Запуск WebSocket и назначение callback-функции
$api->miniTicker($callback, $endpoint);
// Вечный цикл, чтобы скрипт постоянно работал
while(true) {
// Вы можете вставить сюда логику для корректного завершения работы скрипта при необходимости
// sleep(1);
}
```
Для того чтобы связать данный код с PHP Binance Connector, вам нужно будет заменить строчку с подключением WebSocket на правильную для вашей библиотеки. Пример использует метод `miniTicker`, но в зависимости от ваших нужд, вам может потребоваться использовать другой метод из PHP Binance Connector.
Не забудьте также создать таблицу `trades` (или подобную), в которой будут поля `symbol`, `price`, и `quantity`.
Обезательно измените значение строки подключения, пользователя, пароля и имени базы данных в переменных `$host`, `$db`, `$user` и `$pass` на настоящие значения доступа к вашей базе данных.