1
CREATE OR REPLACE FUNCTION adduser(fn character varying,ln character varying,cit character varying,i integer,id integer)
  RETURNS void AS
$BODY$
        BEGIN                
    update tabtow set fname=fn,lname=ln,city=cit,phnum=i where phnum=id;
    select * from tabtow;
        END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION increment(integer)
  OWNER TO postgres;

これは私の関数ですが、PHP で呼び出すにはどうすればよいですか?

私はこのようにしようとしていますが、うまくいきません:

$sql = "update tabtow set fname = '$_REQUEST[fn]', lname = '$_REQUEST[ln]', city = '$_REQUEST[ci]', phnum = $_REQUEST[phnum] where phnum = $_REQUEST[id1]";
$res = pg_query($sql);
4

1 に答える 1

3

関数を呼び出すだけです。

$sql = 'SELECT adduser($1,$2,$3,$4)';
$res = pg_prepare($dbconn, "my_query", $sql);
$res = pg_execute($dbconn, "my_query", array('a','b','c',1));

また、上記のコメント投稿者が言うように、手動でクエリを作成しないでください。上記のようにパラメータ化されたクエリを使用してください。

于 2012-10-12T15:15:55.680 に答える