Php 在PostgreSQL中插入数据

Php 在PostgreSQL中插入数据,php,postgresql,Php,Postgresql,我有一个PostgreSQL查询来将数据插入表中,但由于某些原因,它没有将数据插入表中 当我返回false时,var_转储execute语句 foreach($information as $data){ $name = $data['name']; $id = $data['id']; $time = $data['time']; $query = "INSERT INTO students(name,id,time)" .

我有一个PostgreSQL查询来将数据插入表中,但由于某些原因,它没有将数据插入表中

当我返回false时,var_转储execute语句

foreach($information as $data){
     $name = $data['name'];
     $id = $data['id'];
    $time = $data['time'];

    $query =  "INSERT INTO students(name,id,time)"
               ."VALUES('$name','$id','time')";
                  //prepare and execute
               $stmt = $psql->prepare($query);
               $result = $stmt->execute();

               var_dump($result);


}

查询中很可能未理解“
”$name“
。此外,还应检查这些变量是否存在

试着做这样的事情

   if (isset($name, $id, $time)) {
    $query = 
    'DO$$
    BEGIN
        IF NOT EXISTS(select 1 from students where name = \'$name\')
            THEN
            INSERT INTO student("name", "id", "time")
            VALUES (\'$name\', \'$id\', \'$time\')
        END IF;
    END;
    $$;'
}

查询中很可能未理解“
”$name“
。此外,还应检查这些变量是否存在

试着做这样的事情

   if (isset($name, $id, $time)) {
    $query = 
    'DO$$
    BEGIN
        IF NOT EXISTS(select 1 from students where name = \'$name\')
            THEN
            INSERT INTO student("name", "id", "time")
            VALUES (\'$name\', \'$id\', \'$time\')
        END IF;
    END;
    $$;'
}

写了上面提到的代码后,我将如何执行它?只需将其放入变量
$query
查看我的更新答案写了上面提到的代码后,我将如何执行它?只需将其放入变量
$query
查看我的更新答案