php pdo new PDO mysql host 127 dbname alonar charset UTF8 root Если ну

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$pdo = new PDO('mysql:host=127.0.0.1;dbname=alonar;charset=UTF8', 'root', '');
//Если нужно сделать выборку из базы, без пользовательских данных (То есть, в данных на 100% не содержится sql_inj), делаем просто query.
$user = $pdo->query('SELECT `id`,`name` FROM `users` WHERE `id` = 1 LIMIT 1')->fetch();
//Если нужно сделать выборку из базы, с пользовательскими данными, и фильтрацией sql_inj :
$_user = $pdo->prepare('SELECT `id`,`name` FROM `users` WHERE `id` = ? LIMIT 1');
$_user->execute([(int)$_GET['id']]); // И да, в (int) SQL_inj быть не может, но всё же, как пример.
$user = $_user->fetch();
//Инсерт и апдейт выглядят так:
$_insert = $db -> prepare('INSERT INTO `table` SET `x` = ?, `y` = ?, `object` = ?, `type` = ?');
$_insert -> execute([(int)$_GET['x'], (int)$_POST['y'], htmlspecialchars($_POST['object']), 1);
$_insert = $db -> prepare('UPDATE `table` SET `x` = ?, `y` = ?, `object` = ?, `type` = ? WHERE `id` = ?');
$_insert -> execute([(int)$_GET['x'], (int)$_POST['y'], htmlspecialchars($_POST['object']), 1, (int)$_GET['id']);
//Выборка циклом:
$_users = $pdo->prepare('SELECT `id`,`name` FROM `users`');
$_users->execute();
$users = $_users->fetchAll();
foreach($users as $user){
echo $user['id'];
}
//Для такого запроса лучше применить метод query.
$users = $db->query('SELECT `id` FROM `users`')->fetchAll();
foreach($users as $user){
echo $user['id'];
}