Php mysql\u查询更新,参数数量不确定

Php mysql\u查询更新,参数数量不确定,php,mysql,database,sql-update,Php,Mysql,Database,Sql Update,我有一个update.php文件,调用“functions.php”上的函数来更新信息 我想知道是否有一种方法可以为更新创建一个独特的函数,它可以独立地处理所需的参数数量 我知道一种方法,即在php文件上,首先将整个查询保存在变量上,然后将其发送到functions.php,并将变量作为参数,如下图所示: PHP文件: $queryUpdate="UPDATE carta SET titulo='$titulo', ingredientes='$ingredientes', precio='$p

我有一个update.php文件,调用“functions.php”上的函数来更新信息

我想知道是否有一种方法可以为更新创建一个独特的函数,它可以独立地处理所需的参数数量

我知道一种方法,即在php文件上,首先将整个查询保存在变量上,然后将其发送到functions.php,并将变量作为参数,如下图所示:

PHP文件:

$queryUpdate="UPDATE carta SET titulo='$titulo', ingredientes='$ingredientes', precio='$precio', tipo='$tipo', porcentaje='$porcentaje', imagen='$rutaFinal' WHERE id_carta='$id'";
$update = consultaQuery($queryUpdate);
$update = consultaQuery($titulo,$ingredientes,$precio,$tipo,$porcentaje,$rutaFinal,$id);
函数文件:

function consultaQuery($par_query){
$consulta = mysql_query($par_query);
return $consulta;}
    function consultaQuery($par_titulo,$par_ingredientes,$par_precio,$par_tipo,$par_porcentaje,$par_rutaFinal,$par_id){
$consulta = mysql_query(UPDATE carta SET titulo=$par_titulo, ingredientes=$par_ingredientes, precio=$par_precio, tipo=$par_tipo, porcentaje=$par_porcentaje, imagen=$par_rutaFinal WHERE id_carta='par_id);
return $consulta;}
但我想知道是否有另一种方法可以对我的函数进行重新命名,分别发送$variables=值,以便添加到mysql_查询(更新)查询中

我可以这样做:

PHP文件:

$queryUpdate="UPDATE carta SET titulo='$titulo', ingredientes='$ingredientes', precio='$precio', tipo='$tipo', porcentaje='$porcentaje', imagen='$rutaFinal' WHERE id_carta='$id'";
$update = consultaQuery($queryUpdate);
$update = consultaQuery($titulo,$ingredientes,$precio,$tipo,$porcentaje,$rutaFinal,$id);
函数文件:

function consultaQuery($par_query){
$consulta = mysql_query($par_query);
return $consulta;}
    function consultaQuery($par_titulo,$par_ingredientes,$par_precio,$par_tipo,$par_porcentaje,$par_rutaFinal,$par_id){
$consulta = mysql_query(UPDATE carta SET titulo=$par_titulo, ingredientes=$par_ingredientes, precio=$par_precio, tipo=$par_tipo, porcentaje=$par_porcentaje, imagen=$par_rutaFinal WHERE id_carta='par_id);
return $consulta;}

但是,例如,对于3参数更新,这是行不通的。有没有办法做到这一点?我会一直这样做吗?感谢您的关注。

警告您使用的MySQL版本已弃用,极易受到SQL注入和攻击。请更新您的代码以使用扩展名和语法。或者您可以将数组作为参数传递。@Mihai这是一个很好的线索。我会尝试用func_get__args解决这个问题,希望我能。谢谢你的想法。约翰,问题的最后一部分考虑了这个选项。