Я хотел бы использовать переменную GET из URL и использовать ее в операторе выбора MySQL в качестве идентификатора, а затем отобразить результаты на странице. Мне удалось вывести переменную $ _GET самостоятельно, но я не могу использовать ее в качестве переменной в запросе. Почему приведенный ниже код не работает?
<?php
require_once(dirname(__FILE__) . '/core/config.php');
include_once "shared/ez_sql_core.php";
include_once "ez_sql_mysqli.php";
$db = new ezSQL_mysqli(DB_USER,DB_PASSWORD,DB_USER,'localhost');
$client = (int)mysqli_real_escape_string($_GET['client']);
$results = $db->get_results("SELECT * FROM clients WHERE id=" . $client. ";");
foreach ( $results as $data ){
echo $data->name;
}
?>
Вы используете эту вещь ezSQL неправильно.
Вот как это должно быть использовано:
$client = $db->escape($_GET['client']);
$results = $db->get_results("SELECT * FROM clients WHERE id='$client'");
Однако я настоятельно рекомендую избавиться от этого нелепо небезопасного решения и использовать вместо этого PDO:
$results = $pdo->prepare("SELECT * FROM clients WHERE id=?");
$results->execute([$_GET['client']]);
foreach ( $results as $data ){
echo $data->name;
}
Других решений пока нет …