PHP/MySQL | Вопрос по sql
Можно ли использовать такой запрос? Это не есть плохо?
________
посл. ред. 05.08.2017 в 19:19; всего 1 раз(а); by Gazro
SELECT hp FROM users WHERE id = '$_COOKIE['id']'
________
посл. ред. 05.08.2017 в 19:19; всего 1 раз(а); by Gazro
Gazro (05.08.2017 в 19:13)
Можно ли использовать такой запрос? Это не есть плохо?SELECT hp FROM users WHERE id = '$_COOKIE['id']'
Можно ли использовать такой запрос? Это не есть плохо?SELECT hp FROM users WHERE id = '$_COOKIE['id']'
нельзя, это очень плохо
Avenax, а как лучше?
Gazro, использовать pdo и подготовленный запросы
или
$id = intval($_COOKIE['id']);
или
$id = intval($_COOKIE['id']);
SELECT hp FROM users WHERE id = '" . id . "'
Вообще "SELECT hp FROM users WHERE id = '".intval($_COOKIE['id'])."' "
Зачем нужен intval? У меня в id и так хранятся только целые числа.
Gazro (05.08.2017 в 19:29)
Зачем нужен intval? У меня в id и так хранятся только целые числа.
Зачем нужен intval? У меня в id и так хранятся только целые числа.
в целях избежания sql injection
Avenax, Вот так нормально?
$stmt->$pdo('SELECT * FROM users WHERE id = ?');
$user = pdo->execute([intval('$_COOKIE['id']')]);
$stmt->$pdo('SELECT * FROM users WHERE id = ?');
$user = pdo->execute([intval('$_COOKIE['id']')]);
Gazro, нормально, можно и без intval, подготовленный запрос сам сделает нужную фильтрацию
Avenax, благодарю