Я новичок в PDO и создаю класс. Я хочу сделать код максимально чистым и иметь как можно больше страниц. Я планирую на отправку имен столбцов и таблиц в качестве параметра:Можно ли отправить имя таблицы в качестве параметра
function get($column, $table, $where) {
global $db;
$query = 'SELECT '.$column.' FROM '.$table.' WHERE '.$where.'';
try {
$statement = $db->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$statement->closeCursor();
return $result;
} catch (PDOException $e) {
$error_message = $e->getMessage();
display_db_error($error_message);
}
}
Он отлично работает, но мне интересно, насколько безопасно будет рассматриваться.
Ваш код небезопасен. Если вы не тестируете $ column, $ table и $, где какое-то место в вашем коде, это созрело для SQL-инъекции. Я не буду делать то, что вы планируете делать. Это путь к сумасшедшим ошибкам и ошибкам. Разрешить пользователю управлять доступом к таблице, очевидно, является серьезным недостатком в дизайне вашего приложения. – Halfstop
Спасибо. Это то, что мне было интересно. Я ценю вашу помощь. –
Без проблем, рад, что я мог бы помочь. Если вы хотите написать меньше кода, я рекомендую использовать фреймворк вроде Symfony. Это дает вам наше превосходное кодирование и работает на более высоком уровне. – Halfstop