[英]PHP insert with array values,tablename
我正在努力處理PHP插入語句。 我希望它通過使用array_keys($values)
和array_values($values)
將數據插入數據庫。
我試圖弄清楚如何做到這一點,到目前為止,我的插入式代碼中也包含了此代碼,並且還包括了索引頁。 我需要在不更改索引頁的情況下執行此操作,因為這是我必須完成的挑戰。 我已經分析了索引頁,需要以某種方式使該函數與之配合使用,以便從PHP insert命令將數據插入到數據庫中。
我還想知道是否有一種方法可以將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);
}
請注意,我是編碼方面的新手。 有什么建議么?
試試這個,對我來說很好。 您只需要傳遞表名和一個以列名作為鍵的關聯數組。
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.