我正在努力使用PHP插入语句。我希望它使用array_keys($values)
和array_values($values)
将数据插入数据库。
我试图找出如何做到这一点,到目前为止,我在插入中有这个代码,并且还包含了我的索引页面。我需要在不更改索引页面的情况下执行此操作,因为这是我必须完成的挑战。我已经分析了索引页面,需要以某种方式使函数与PHP插入命令一起将数据插入到我的数据库中。
我也想知道是否有办法将PDO连接包装成一个语句,我可以将其用于此函数和其他函数。
插入功能
<?php
function insert(array $values, $tablename)
{
//cosntruct sql statment
$sql = "INSERT INTO $tablename $values";
//pick apart vaules
//this line fetches the result set and fetch assoc to prevent multiple rows beign fetched
$ResultSet = dbconnect()->query($sql);
//returns the results
return $ResultSet;
//array keys and array vaules
//connection
// checks results
}
?>
索引页面的一部分:
if(isset($_POST['table']))
{
$tableName = $_POST['table'];
}
if(isset($_POST['insert']))
{
$values = array();
$tableName = $_POST['tablename'];
foreach($_POST as $key => $value)
{
if(!empty($value) && ($value != "Submit") && ($key != "insert") && ($key != "table") && ($key != "tablename"))
{
$values[$key] = $value;
}
}
$count = insert($values, $tableName);
}
请注意,我在编码方面很陌生。有什么建议吗?
答案 0 :(得分:1)
public function insert($table, $data)
{
$query='INSERT INTO '.$table.' (';
foreach($data as $key => $value)
{
$query .= $key.',';
}
$query = substr($query, 0, -1);
$query .= ') VALUES (';
foreach($data as $key => $value)
{
$query .= ':'.$key.',';
}
$query = substr($query, 0, -1);
$query .= ');';
$insert = $this->db->prepare($query);
$insert->execute($data);
}