<?php /** @noinspection SqlDialectInspection */
/** @noinspection SqlNoDataSourceInspection */
/** @noinspection SqlResolve */
use eftec\PdoOne;
include "../../vendor/autoload.php";
// connecting to database sakila at 127.0.0.1 with user root and password abc.123
$dao=new PdoOne("sqlsrv","PCJC\SQLSERVER2017","sa","abc.123","base1","");
$dao->throwOnError=true;
$dao->logLevel=3;
try {
echo "<h1>connection. The instancePCJC\SQLSERVER2017, base:base1 user:root and password:abc.123 must exists</h1>";
$dao->connect();
echo "Connected A-OK!<br>";
} catch (Exception $e) {
echo "<h2>connection error:</h2>";
echo $dao->lastError()."-".$e->getMessage()."<br>";
die(1);
}
$valores=['param1'=>'hello','param2'=>'','param3'=>-1];
$result="";
if($dao->objectExist('ping','procedure')) {
$dao->drop('ping', 'procedure');
}
$dao->createProcedure('ping',[
['','param1','varchar(2000)'],
['output','param2','varchar(2000)'],
['output','param3','int'],
],"SET NOCOUNT ON;
set @param2=@param1 + ' world;';
set @param3=1234;
select 'resultado' col1;");
echo "<pre>result:";
$resultado=$dao->callProcedure('ping',$valores,['param2']);
var_dump($valores);
var_dump($resultado);
var_dump($dao->errorText);
$valores=['param1'=>'hello','param2'=>''];
$result="";
die(1);
/*$stmt=$dao->conn1->prepare("declare @param2 varchar(200);
exec dbo.ping @param1=:param1, @param2=:param2 output;
select @param2 col");*/
$stmt=$dao->conn1->prepare("{call ping (:param1 , :param2)}");
$stmt->bindParam(':param1', $valores['param1']);
$stmt->bindParam(':param2', $valores['param2'], PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);
// $stmt->bindParam(2, $result, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 100);
$stmt->execute();
$stmt->closeCursor();
/*while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
var_dump($row);
}*/
//var_dump($stmt->fetchAll());
//$dao->callProcedure('ping',$valores,['param2']);
//var_dump($dao->errorText);
var_dump($valores);
var_dump($result);
echo "</pre>";
|