2015-12-01 115 views
-3

更新:PHP數組的鍵數組值插入

索引頁是執行該功能的作用, 下面是我當前的代碼,高於此我有一個獲取所有這一切運作良好,但此插入心不是因爲它的工作不插入到數據庫中,是因爲在我可以測試插入之前,我需要一個更新嗎?

<?php 
function insert(array $values, $tablename) 
{ 

     $key = ""; 
     $val = ""; 

foreach($values as $keys=>$record){ 


    if($keys == ""){ 
     $key .= $keys; 
    } 
    else{ 
     $key .= ','.$keys; 
    } 


    if($val == ""){ 
     $val .= $record; 
     insert into $tablename($keys)values($val); 


    } 
    else{ 
     $val .= ','.$record; 
     insert into $tablename($keys)values($val); 

    } 
    } 
} 


?> 
+2

'$ values'!=='$ vaules' ....而只會給無論如何,使用這個詞'Array' –

+2

'$ pr1'不在範圍內 –

+2

錯誤的級聯(或缺乏級聯,或者沒有在引用字符串內轉義引號 –

回答

1

這裏有幾個失誤

function insert(array $values, $tablename) 
$sql = "INSERT INTO $tablename ("$vaules". implode(",", array_keys($pr1)) .") VALUES ('$vaules$, ". implode(",", array_values($pr1)) ")"; 

也許你想這樣的事情

function insert(array $values, $tablename){ 
    $sql = "INSERT INTO $tablename (".implode(",", array_keys($values)).") VALUES ('".implode("','",array_values($values))."')"; 
} 

您使用的是不存在的功能有些$ PR1值。但是我也會這樣做,你會在這個函數中對這個查詢做些什麼。

+0

謝謝工作得很好,你介意給我解釋一下怎麼樣來幫助我學習? – Lewis

0

讓我具體。 例如,您有一個emp_id,emp_first_name,emp_last_name和email_id字段的表員工。 和你有值的數組像這樣

$values = array(
     emp_first_name => John, 
     emp_last_name => Malick, 
     email_id => [email protected] 

    ) 

現在用下面的代碼 首先包括在其中放置一個插入函數調用文件插入功能從索引頁。 例如File1.php你放在插入功能則

include 'File1.php'; 
$result = insert('employee',$values); 
現在插入功能

function insert($tablename,$values){ 

     foreach($values as $keys=>$record){ 

      $key_array[] = $keys; 
      $myvalue = $record; 
       if($record == ''){ 
        $value_array[] = "'NULL'"; 
       }else{ 
        $value_array[] = "'".$myvalue."'"; 
       } 


      } 


    $keys = implode(",", $key_array); 
    $values = implode(",", $value_array); 
    insert into $tablename($keys)values($val); 

} 
+0

非常感謝您的幫助,非常感謝,我將爲此付出 – Lewis

+0

@Lewis很高興我能幫到您!請接受它.. –

+0

由於某些原因,這不起作用,它推出了第一次選擇所有,然後當我嘗試插入我沒有得到任何結果回來,我認爲它是因爲我不知道這是'插入到表名($ keys)的值($ val);'我現在已經更新了我的代碼 – Lewis