簡體   English   中英

PHP插入數組值,表名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM