Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中编写通用的db insert函数_Php_Mysql - Fatal编程技术网

如何在php中编写通用的db insert函数

如何在php中编写通用的db insert函数,php,mysql,Php,Mysql,这个问题有两个方面:a)我是否以有效的方式处理它,以及b)如何在php中完成它 我在一个遗留站点中有数百个php表单,今后我将尝试清理代码并对其进行更多模块化 因此,我正在创建一个数据库函数文件,我想在其中使用一个通用的插入函数。 现在,每个表单都有一个完全不同的表,因此需要插入不同的字段 我找不到编写此函数的最佳方法-我的想法如下: function insert_form_data($table, $arr_fields, $arr_values) 这样,我不确定如何构造myqli查询函数

这个问题有两个方面:a)我是否以有效的方式处理它,以及b)如何在php中完成它

我在一个遗留站点中有数百个php表单,今后我将尝试清理代码并对其进行更多模块化

因此,我正在创建一个数据库函数文件,我想在其中使用一个通用的插入函数。 现在,每个表单都有一个完全不同的表,因此需要插入不同的字段

我找不到编写此函数的最佳方法-我的想法如下:

function insert_form_data($table, $arr_fields, $arr_values)
这样,我不确定如何构造myqli查询函数,以便在字段和值数组未知时使用它们

这是一种有效的方法吗?如果是,请帮助理解语法。或者我现在应该花额外的时间重构一切,使用mvc结构,在这种情况下,每个表/表单都是一个“模型”等等


thx

一个非常简单的例子就是

public function insert_form_data($table, $arr_fields, $arr_values)
{

    $sql = 'INSERT INTO '.$table.' ('.implode(", ", $arr_fields).') VALUES ('.implode(", ",  $arr_values).')';

    return mysql_query($sql);

}

如果使用PDO连接,则可以相应地更改它。最好是创建一个完整的类来检查构造函数上的连接,并执行所有的insert update delete函数。

一个非常简单的例子就是

public function insert_form_data($table, $arr_fields, $arr_values)
{

    $sql = 'INSERT INTO '.$table.' ('.implode(", ", $arr_fields).') VALUES ('.implode(", ",  $arr_values).')';

    return mysql_query($sql);

}

如果使用PDO连接,则可以相应地更改它。最好是创建一个完整的类来检查构造函数上的连接,并执行所有的insert update delete函数。

一个非常简单的例子就是

public function insert_form_data($table, $arr_fields, $arr_values)
{

    $sql = 'INSERT INTO '.$table.' ('.implode(", ", $arr_fields).') VALUES ('.implode(", ",  $arr_values).')';

    return mysql_query($sql);

}

如果使用PDO连接,则可以相应地更改它。最好是创建一个完整的类来检查构造函数上的连接,并执行所有的insert update delete函数。

一个非常简单的例子就是

public function insert_form_data($table, $arr_fields, $arr_values)
{

    $sql = 'INSERT INTO '.$table.' ('.implode(", ", $arr_fields).') VALUES ('.implode(", ",  $arr_values).')';

    return mysql_query($sql);

}
如果使用PDO连接,则可以相应地更改它。最好是创建一个完整的类,该类检查构造函数上的连接并执行所有insert update delete函数。

方法实现

public function addData($_tableName, $_dataString){
    $qr_string = 'INSERT INTO `'.$_tableName.'` SET '.$_dataString;
    $this->_message = ($this->res = $this->mysqli->query($qr_string)) ? 'Success' : $this->mysqli->error ;
    return $this->_message;
}
希望这有助于方法的实现

public function addData($_tableName, $_dataString){
    $qr_string = 'INSERT INTO `'.$_tableName.'` SET '.$_dataString;
    $this->_message = ($this->res = $this->mysqli->query($qr_string)) ? 'Success' : $this->mysqli->error ;
    return $this->_message;
}
希望这有助于方法的实现

public function addData($_tableName, $_dataString){
    $qr_string = 'INSERT INTO `'.$_tableName.'` SET '.$_dataString;
    $this->_message = ($this->res = $this->mysqli->query($qr_string)) ? 'Success' : $this->mysqli->error ;
    return $this->_message;
}
希望这有助于方法的实现

public function addData($_tableName, $_dataString){
    $qr_string = 'INSERT INTO `'.$_tableName.'` SET '.$_dataString;
    $this->_message = ($this->res = $this->mysqli->query($qr_string)) ? 'Success' : $this->mysqli->error ;
    return $this->_message;
}

希望这有帮助

可能不会显示
mysql\u query()
函数。你很快就会被嘲笑,因为它是一个不推荐使用的库。(
PDO
mysqli
是这里的方法)我只想展示一下如何做事情,这只是为了演示。这就是我提到在生产环境中使用PDO的原因,在生成和运行查询之前,对$table、$arr_字段和$arr_值进行清理/错误检查非常重要。如果这些值来自用户输入,那么示例实现将容易受到SQL注入攻击。可能不显示
mysql\u query()
函数。你很快就会被嘲笑,因为它是一个不推荐使用的库。(
PDO
mysqli
是这里的方法)我只想展示一下如何做事情,这只是为了演示。这就是我提到在生产环境中使用PDO的原因,在生成和运行查询之前,对$table、$arr_字段和$arr_值进行清理/错误检查非常重要。如果这些值来自用户输入,那么示例实现将容易受到SQL注入攻击。可能不显示
mysql\u query()
函数。你很快就会被嘲笑,因为它是一个不推荐使用的库。(
PDO
mysqli
是这里的方法)我只想展示一下如何做事情,这只是为了演示。这就是我提到在生产环境中使用PDO的原因,在生成和运行查询之前,对$table、$arr_字段和$arr_值进行清理/错误检查非常重要。如果这些值来自用户输入,那么示例实现将容易受到SQL注入攻击。可能不显示
mysql\u query()
函数。你很快就会被嘲笑,因为它是一个不推荐使用的库。(
PDO
mysqli
是这里的方法)我只想展示一下如何做事情,这只是为了演示。这就是我提到在生产环境中使用PDO的原因,在生成和运行查询之前,对$table、$arr_字段和$arr_值进行清理/错误检查非常重要。如果这些值来自用户输入,那么示例实现将容易受到SQL注入攻击。