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