php数组键数组值插入

php数组键数组值插入,php,insert,Php,Insert,更新: 索引页执行函数的操作, 下面是我当前的代码,在上面我有一个fetch all,它工作得很好,但是这个insert没有工作,因为它没有插入到数据库中,是不是因为我需要在测试insert之前进行更新 <?php function insert(array $values, $tablename) { $key = ""; $val = ""; foreach($values as $keys=>$record){ i

更新:

索引页执行函数的操作, 下面是我当前的代码,在上面我有一个fetch all,它工作得很好,但是这个insert没有工作,因为它没有插入到数据库中,是不是因为我需要在测试insert之前进行更新

   <?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);

     }
  }
 } 


?>

这里您几乎没有错误

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))."')";
}
$values = array(
        emp_first_name  => John,
        emp_last_name => Malick,
        email_id => john@gmail.com

    )
您正在使用函数中不存在的某些$pr1值。但我也希望您能在这个函数中对这个查询做些什么。

让我具体说明一下。 例如,您有一个具有emp_id、emp_first_name、emp_last_name和email_id字段的表雇员。 对于这样的值,有一个数组

function insert(array $values, $tablename){
    $sql = "INSERT INTO $tablename (".implode(",", array_keys($values)).") VALUES ('".implode("','",array_values($values))."')";
}
$values = array(
        emp_first_name  => John,
        emp_last_name => Malick,
        email_id => john@gmail.com

    )
现在使用下面的代码从索引页调用insert函数 首先,包括您在其中放置插入函数的文件。 例如,在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);

}

$values
!==<代码>$vaules。。。。并且只会给出单词
数组
,这样使用时,
$pr1
不会在scopeBad串联中(或者缺少连接,或者在引用字符串中没有转义引号,可能是一个巨大的SQL注入漏洞)我非常感谢您的帮助,我会给它一个GO。由于某些原因,这不起作用,它启动了第一个全选,然后当我尝试插入时,我没有得到任何结果,我想这是因为我不是ure where this goes‘insert into tablename($keys)values($val);‘我现在已经更新了我的代码,谢谢,虽然我对这一点很陌生,但是你在哪里把它放在else之后,}之前呢?对于每个语句?@Lewis-在if$val.='$record'中这样写;在else部分$val.=',“.$record.”“;谢谢@RubbySmith抱歉,我对Php还不太熟悉,我仍然很困惑。非常感谢您的帮助,所以farThanks这很有效,您介意向我解释一下将要帮助我学习什么吗?”?