Nombre de tabla en SELECT

сабля quisiera Комо poner el nombre de una tabla recibida por POST en un SELECT. Estoy probando варьируется альтернативы y никакой шаг скрутки manera de que haga la búsqueda:

$response=mysql_query("select id,answer from ".$_POST['bd']." where id IN($order) 
    ORDER BY FIELD(id,$order)") or die(mysql_error());
2
задан 26.01.2017, 15:11
1 ответ

Первое как уже они сказали тебе, что ты был бы должен использовать PDO. Ты был бы должен использовать готовые консультации для того, чтобы никто не смог делать тебе вставки sql, используя параметры, не выдавая, что ты считаешь $ _POST ['bd'].

Все же, я первое, что он сделал бы, в твоем случае серьезный cojer и смотреть, что стоимость приходит к тебе в $ _POST ['bd'], и делать его purify, чтобы лишать тебя таких этикеток как и согласно стоимости, которая мстит тебе, что мог бы быть например числовым присуждать ему стоимость.

Пример:

if (intval($_POST['bd']) === 1) {
    $from = "db.answers";
}

$query=mysql_query("
    select 
        id,answer 
    from 
        {$from} 
    where 
        id IN($order) 
    ORDER BY 
        FIELD(id,$order)")   or die(mysql_error());
2
ответ дан 24.11.2019, 11:26
  • 1
    Функционируй @UmbrellaSpirit. Muchí пропасти спасибо. Tendré который PDO выводить... – Vieira 26.01.2017, 14:09

Теги

Похожие вопросы