EN
PHP - how to make MySQL select query with MySQL?
8 points
In PHP it is possible to make SQL SELECT
query with MySQL in the following way.
xxxxxxxxxx
1
2
3
if(isset($_GET['role']))
4
{
5
$role = $_GET['role'];
6
7
$db_name = 'test';
8
$db_host = '127.0.0.1'; // 'localhost'
9
$db_username = 'root';
10
$db_password = 'root';
11
12
$mysqli = new mysqli($db_host, $db_username, $db_password, $db_name);
13
14
if($mysqli->connect_error)
15
die('Database connection error!');
16
17
if($statement = $mysqli->prepare('SELECT * FROM `users` WHERE `role` = ?'))
18
{
19
$statement->bind_param('s', $role); // string parameter
20
21
if($statement->execute())
22
{
23
$statement->bind_result($row_id, $row_name, $row_role);
24
25
echo '<pre>';
26
echo "[ID]\t[name]\t[role]<br />";
27
28
while ($statement->fetch())
29
echo $row_id . "\t" . $row_name . "\t" . $row_role . '<br />';
30
31
echo '</pre>';
32
}
33
else
34
echo 'Query execution error!';
35
36
$statement->close();
37
}
38
else
39
echo 'Query preparation error!';
40
41
$mysqli->close();
42
}
43
44
Result:

create_tables.sql
file:
xxxxxxxxxx
1
CREATE TABLE `users` (
2
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
3
`name` VARCHAR(100) NOT NULL,
4
`role` VARCHAR(15) NOT NULL,
5
PRIMARY KEY (`id`)
6
)
7
ENGINE=InnoDB;
insert_data.sql
file:
xxxxxxxxxx
1
INSERT INTO `users`
2
(`name`, `role`)
3
VALUES
4
('John', 'admin'),
5
('Chris', 'moderator'),
6
('Kate', 'user'),
7
('Denis', 'moderator');