Помещать в эту функцию mysqli mysqli_real_escape_string

у меня есть эта функция, чтобы вводить в myqli

function Insertar_Datos() { global $Conectar;
    $Parametros = func_get_args();
            $InDatos = "INSERT INTO `".$Parametros[0]."` (".$Parametros[1].") VALUES (".$Parametros[2].");";
            $RDatos = mysqli_query($Conectar, $InDatos);
            if (!$RDatos) { http_response_code(500); print(mysqli_error($Conectar)); } else { http_response_code(200); echo "ok"; }
     return $RDatos;
}

способ использовать функцию я использую эту:

$InuevoArticulo = Insertar_Datos("Tabla" , "`id`,`nombre`" , "'".mysqli_real_escape_string($Conectar, $_POST['id'])."','".mysqli_real_escape_string($Conectar, $_POST['nombre'])."'");

Поскольку вы видите до настоящего времени в параметрах [2], я помещаю весь код с реальным scape bla bla bla...: была бы какая-то форма, которой в параметры [2] только он помещал бы $ _POST ['lo_que_sea'] и которая писала бы в insert весь код mysqli_real_escape_string ($Conectar... автоматически?

Тысячи спасибо за вашу помощь :)

0
задан 28.12.2016, 01:28
1 ответ

В официальной документации php он говорит, что func_get_args () он возвращает array, который состоит из списка аргументов функции.

Если queres делать по-другому - серьезно перемещать параметры в твою функцию или сходить за Get или post. Уже завись тебя. Пример:

Из-за POST:

function Insertar_Datos() { 
    global $Conectar;

    // Digamos que viene de un formulario por post tus valores.
    $id = $_POST['id'];
    $nombre = $_POST['nombre'];

    $InuevoArticulo = Insertar_Datos("Tabla" , "`id`,`nombre`" , "'".mysqli_real_escape_string($Conectar, $id)."','".mysqli_real_escape_string($Conectar, $nombre)."'");
    $RDatos = mysqli_query($Conectar, $InuevoArticulo);
    if (!$RDatos) { 
        http_response_code(500); 
        print(mysqli_error($Conectar)); 
    }else{ 
         http_response_code(200); 
         echo "ok";
    }
    return $RDatos;
}

Другая серьезная форма проходить с ним по параметрам в твою функцию:

function Insertar_Datos($id, $nombre) { 
    global $Conectar;

    $InuevoArticulo = Insertar_Datos("Tabla" , "`id`,`nombre`" , "'".mysqli_real_escape_string($Conectar, $id)."','".mysqli_real_escape_string($Conectar, $nombre)."'");
    $RDatos = mysqli_query($Conectar, $InuevoArticulo);
    if (!$RDatos) { 
        http_response_code(500); 
        print(mysqli_error($Conectar)); 
    }else{ 
         http_response_code(200); 
         echo "ok";
    }
    return $RDatos;
}
2
ответ дан 24.11.2019, 11:51
  • 1
    Действительно форма q ты комментируешь мне, что из-за post он равен q это q, я делаю только, что ты не перемещаешь стоимость из-за finc_get_args и должен писать их в консультации делая почти исключительную функцию, чтобы вводить artí зады. изящество этой функции состоит в том, что он позволяет тебе с единственной funció n, использовать ее для любой таблицы или любой стоимости, не должен будучи быть declará ndolos. Костлявая, что ты помещаешь Insertar_Datos ($id, $nombre), я это делаю, не определяя ничего там и это захватываю с get_args просто создавая array с get_args и потом возвращая pará метры просто dicié ndoles, в котором posició n эта. – Killpe 28.12.2016, 13:29
  • 2
    Действительно только я нуждаюсь в том, чтобы знать, существует ли какая-то форма, которой в $Parametros [2] он мог бы навязывать ему mysqli_real_escape_string ($Conectar,XXX) automá ticamente и я одинокий перемещать из-за функции информацию из-за post... Я думаю, что связал я единственного XD muchí пропасти спасибо так или иначе из-за твоей помощи – Killpe 28.12.2016, 13:30

Теги

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