データベースPostgresに2つのストアドプロシージャがあり、どちらも同じ名前ですが、違いはパラメータです。
procedure1(:: string、:: integer、:: string、:: integer)
procedure1(:: string、:: integer、:: integer)
bindParamを正しく実行するPDOでは、STR、INT、INTが発生しますが、prepereは常にprocedure1を実行します。
私がprocedure2と呼んでいるものを彼に理解させるにはどうすればよいですか?
さらにヘルプが必要な情報はありますか?クリア?ありがとう
編集===
..。
$bounds = null; // forced for debug
if(!is_null($bounds)){
$query = "SELECT procedure1(:name, :domain, :geo, :userid)";
$stmt = $db->prepare($query);
$stmt->bindParam('name', $name, PDO::PARAM_STR);
$stmt->bindParam('domain', $idDomain, PDO::PARAM_INT);
$stmt->bindParam('geo', $geoString, PDO::PARAM_STR);
$stmt->bindParam('userid', $userId, PDO::PARAM_INT);
}else{
$query = "SELECT procedure1(:name, :domain, :userid)";
$stmt = $db->prepare($query);
$stmt->bindParam('name', $name, PDO::PARAM_STR);
$stmt->bindParam('domain', $idDomain, PDO::PARAM_INT);
$stmt->bindParam('userid', $userId, PDO::PARAM_INT);
}
$result = $stmt->execute();
..。
それが与えるエラーは、彼が4つのパラメーターを必要とするプロシージャを実行していることです。