Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Postgres:插入和删除_Php_Sql_Postgresql_Stored Procedures - Fatal编程技术网

Php Postgres:插入和删除

Php Postgres:插入和删除,php,sql,postgresql,stored-procedures,Php,Sql,Postgresql,Stored Procedures,我觉得编写代码的方法更简单。如何进行删除/插入操作 // to delete the old tags before inserting new tags $result = pg_que

我觉得编写代码的方法更简单。如何进行删除/插入操作

// to delete the old tags before inserting new tags                                                                                                                                                    
        $result = pg_query_params ( $dbconn,
                'DELETE FROM tags
                WHERE question_id = $1',
                array ( $question_id )
                );

        $result = pg_prepare ( $dbconn, "query_777",
                'INSERT INTO tags
                (tag, question_id)
                VALUES ($1, $2)'
                );

你无能为力。从技术上讲,您可以使用存储过程执行此操作,然后只需:

select change_question_tags( ... );

但变化不大。

您可以使用一些ORM/DB抽象,然后执行以下操作

$tags = new TagsTable();
$tags->delete($tags->find('question_id = ?', $1));
$tags->insert(array('tag' => $1, 'question_id' => $2));

您的第二个查询缺少参数。太复杂而无法使用?不,存储过程很简单。但它并没有改变代码的复杂性——它只是改变了复杂性所在的位置。当然,这也有好的一面,但您想让它变短—使用存储过程会使PHP代码变短,但不会缩短代码的总长度,包括数据库存储过程。