0

私は $db と呼ばれるオブジェクトを持っています。それは関数内にあるときに他のものを出力します:

<?php
$dsn = "pgsql:"
    . "host=ec2-54-217-239-27.eu-west-1.compute.amazonaws.com;"
    . "dbname=dat08vv8oqt1j1;"
    . "user=secret :);"
    . "port=5432;"
    . "sslmode=require;"
    . "password=secret :)";

$db = new PDO($dsn);
$sql = "create table parent_children (
    parent_path varchar,
    child_path varchar,
    primary key(parent_path,child_path),
    foreign key (parent_path) references nodes (path),
    foreign key (child_path) references nodes (path)
)";
/*$sq = $db ->query($sql);*/

print_r($db);
myqueries($sql, $db);

function myqueries($myobject, $sql){
    print_r($myobject);
    die();
};

初めて出力する

PDO Object ( )

次回:

create table parent_children ( parent_path varchar, child_path varchar, primary key(parent_path,child_path), foreign key (parent_path) references nodes (path), foreign key (child_path) references nodes (path) )

問題は、これが関数内で機能しないことです。

$sq = $myobject ->query($sql);

しかし、それはそれの外で機能します。

4

1 に答える 1

0

関数の引数を見てください。試す:

myqueries($db, $sql);

raina77ow のコメントから:

function myqueries(PDO $myobject, $sql) {}

$myobject が PDO 型でない場合、エラーがスローされます。

于 2013-11-07T16:42:06.457 に答える