Имеется таблица bot в phpMyAdmin. Как правильно составить на php запрос, который извлечет данные столба money определенного user_id?
Например получить значение money для user_id = $id (значение столбца в переменной). После этого, значение money нужно будет поместить в переменную $money.
Можно для примера решение данной ситуации, чтобы потом уже разобраться на готовом примере с остальными запросами?
Для работы с базой данных в РНР служит класс PDO.
Для соединения с MySQL надо написать такой код (взят отсюда),
$host = '127.0.0.1';
$db = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
вписать свои собственные значения для параметров подключения и поместить в файл db.php.
После этого в своем скрипте написать include 'db.php'; и после этого в нем будет доступна переменная $pdo, которая будет использоваться для всех запросов к базе данных.
Выполнение запроса SELECT включает в себя 3 стадии:
$stmt->execute().$stmt->fetch() $stmt->fetchAll(). После этого полученный массив можно будет вывести через foreach().$stmt->fetchColumn()Это схема для выполнения любых запросов, в которых участвуют переменные. В данном случае код будет таким:
include 'db.php';
$stmt = $pdo->prepare('SELECT money FROM bot WHERE user_id=?'); // подготовка
$stmt->execute([$id]); // выполнение
$money = $stmt->fetchColumn(); // получение
$query = 'SELECT * FROM `bot` WHERE `user_id` = "'.mysqli_real_escape_string($mysqli, $id).'"';
Переменная $mysqli - это ваше подключение к БД, если вы используете подключение к БД, как в примере:
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
Но вам, как начинающему программисту, желательно сразу использовать подключение к БД только через PDO - это более безопасный вариант. В этом случае синтаксис запроса в $query придется немного подредактировать.
Пожалуйста, отредактируйте ваш вопрос так, как я написал в комментарии, и тогда у сообщества Stackoverflow будет больше шансов помочь вам.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости