PHP: 如何创建函数插入
PHP: How to create function insert
我想创建一个全局函数插入。我有这样的代码
function insert_data($table, $field = array(), $data = array())
{
$sql = "INSERT INTO ".$table." (";
$i = 0;
for($f=0; $f < count($field); $f++)
{
$sql .= ++$i === count($field) ? $field[$f] : $field[$f].", ";
}
$sql .= ") VALUES (";
for($d=0; $d < count($data); $d++)
{
$sql .= end($data) === $data[$d] ? (is_string($data[$d]) ? $this->db->escape($data[$d]) : (is_null($data[$d]) ? "NULL" : $data[$d])) : (is_string($data[$d]) ? $this->db->escape($data[$d])."," : (is_null($data[$d]) ? "NULL," : $data[$d].","));
}
$sql .= ")";
$qry = $this->db->query($sql);
return $this->db->affected_rows();
}
它对我来说工作正常,但我想要参数只是 table 的名称,带有索引的数据是字段名称。如何创造这样的?
谢谢回答
这样就可以了。修改函数开头,其余不变:
function insert_data($table, $datas = array()){
foreach($datas as $key => $value) {
$field []= $key;
$data []= $value;
}
$sql = "INSERT INTO ".$table." (";
.
.
.
我想创建一个全局函数插入。我有这样的代码
function insert_data($table, $field = array(), $data = array())
{
$sql = "INSERT INTO ".$table." (";
$i = 0;
for($f=0; $f < count($field); $f++)
{
$sql .= ++$i === count($field) ? $field[$f] : $field[$f].", ";
}
$sql .= ") VALUES (";
for($d=0; $d < count($data); $d++)
{
$sql .= end($data) === $data[$d] ? (is_string($data[$d]) ? $this->db->escape($data[$d]) : (is_null($data[$d]) ? "NULL" : $data[$d])) : (is_string($data[$d]) ? $this->db->escape($data[$d])."," : (is_null($data[$d]) ? "NULL," : $data[$d].","));
}
$sql .= ")";
$qry = $this->db->query($sql);
return $this->db->affected_rows();
}
它对我来说工作正常,但我想要参数只是 table 的名称,带有索引的数据是字段名称。如何创造这样的? 谢谢回答
这样就可以了。修改函数开头,其余不变:
function insert_data($table, $datas = array()){
foreach($datas as $key => $value) {
$field []= $key;
$data []= $value;
}
$sql = "INSERT INTO ".$table." (";
.
.
.