pdo mysql 存储过程 out_PHP PDO /从MySQL存储过程中检索OUT参数 (PHP PDO / Retrieving OUT Parameters from MySQL Store...

英文原文

try this...

see if works...

try

{

$dsn = 'mysql:dbname=db_name;host=localhost';

$dbh = new PDO($dsn, 'usr_name', 'password');

}

catch (PDOException $e)

{

echo 'Connection failed: ' . $e->getMessage();

}

//$stmt = $dbh->prepare("CALL db.stprNewUser(:usrEmail,:newUserOK,:stprComment)");

//changed :newUserOK to @newUserOK

//changed :stprComment to @stprComment

$stmt = $dbh->prepare("CALL db.stprNewUser(:usrEmail,@newUserOK,@stprComment);");

//declare only input parameters.

//good pratice put string length. assuming varchar(100).

$stmt->bindParam(':usrEmail', $tmpEmail, PDO::PARAM_STR,100);

//dont need these

// $stmt->bindParam(':newUserOK', $newUserOK, PDO::PARAM_INT,1);

// $stmt->bindParam(':stprComment', $stprComment, PDO::PARAM_STR,100);

$stmt->execute();

$outputArray = $dbh->query("select @newUserOK, @stprComment;")->fetchAll();

foreach($outputArray as $row)

{

"NewUserOk:" . $row["@newUserOk"] . ", StprComment:" . $row["@stprComment"];

}

//$outputArray = $dbh->query("select @newUserOK, @stprComment")->fetch(PDO::FETCH_ASSOC);

//print "procedure returned [" . $outputArray['@newUserOK'] . $outputArray['@stprComment'] . "]\n";

中文翻译

试试这个......

看看是否有效...

尝试

{

$ dsn ='mysql:dbname = db_name; host = localhost';

$ dbh = new PDO($ dsn,'usr_name','password');

}

catch(PDOException $ e)

{

echo'连接失败:'。 $ E->的getMessage();

}

// $ stmt = $ dbh-> prepare(" CALL db.stprNewUser(:usrEmail,:newUserOK,:stprComment)" );

//已更改:newUserOK为@newUserOK

//已更改:stprComment为@stprComment

$ stmt = $ dbh-> prepare(" CALL db.stprNewUser(:usrEmail,@ newUserOK,@ stprComment);" );

//仅声明输入参数。

//好的实践把字符串长度。假设varchar(100)。

$ stmt-> bindParam(':usrEmail',$ tmpEmail,PDO :: PARAM_STR,100);

//不需要这些

// $ stmt-> bindParam(':newUserOK',$ newUserOK,PDO :: PARAM_INT,1);

// $ stmt-> bindParam(':stprComment',$ stprComment,PDO :: PARAM_STR,100);

$ stmt->执行();

$ outputArray = $ dbh-> query(" select @newUserOK,@ stprComment;" ) - > fetchAll();

foreach($ outputArray为$ row)

{

" NewUserOk:" 。 $ row [" @ newUserOk" ]。 " ,StprComment:" 。 $行[ " @ stprComment" ];

}

// $ outputArray = $ dbh-> query(" select @ newUserOK,@ stprComment" ) - > fetch(PDO :: FETCH_ASSOC);

// print" 程序返回[" 。 $ outputArray ['@ newUserOK']。 $ outputArray ['@ stprComment']。 " ] \ n" 个;

try this...

see if works...

try

{

$dsn = 'mysql:dbname=db_name;host=localhost';

$dbh = new PDO($dsn, 'usr_name', 'password');

}

catch (PDOException $e)

{

echo 'Connection failed: ' . $e->getMessage();

}

//$stmt = $dbh->prepare("CALL db.stprNewUser(:usrEmail,:newUserOK,:stprComment)");

//changed :newUserOK to @newUserOK

//changed :stprComment to @stprComment

$stmt = $dbh->prepare("CALL db.stprNewUser(:usrEmail,@newUserOK,@stprComment);");

//declare only input parameters.

//good pratice put string length. assuming varchar(100).

$stmt->bindParam(':usrEmail', $tmpEmail, PDO::PARAM_STR,100);

//dont need these

// $stmt->bindParam(':newUserOK', $newUserOK, PDO::PARAM_INT,1);

// $stmt->bindParam(':stprComment', $stprComment, PDO::PARAM_STR,100);

$stmt->execute();

$outputArray = $dbh->query("select @newUserOK, @stprComment;")->fetchAll();

foreach($outputArray as $row)

{

"NewUserOk:" . $row["@newUserOk"] . ", StprComment:" . $row["@stprComment"];

}

//$outputArray = $dbh->query("select @newUserOK, @stprComment")->fetch(PDO::FETCH_ASSOC);

//print "procedure returned [" . $outputArray['@newUserOK'] . $outputArray['@stprComment'] . "]\n";

试试这个......

看看是否有效...

尝试

{

$ dsn ='mysql:dbname = db_name; host = localhost';

$ dbh = new PDO($ dsn,'usr_name','password');

}

catch(PDOException $ e)

{

echo'连接失败:'。 $ E->的getMessage();

}

// $ stmt = $ dbh-> prepare(" CALL db.stprNewUser(:usrEmail,:newUserOK,:stprComment)" );

//已更改:newUserOK为@newUserOK

//已更改:stprComment为@stprComment

$ stmt = $ dbh-> prepare(" CALL db.stprNewUser(:usrEmail,@ newUserOK,@ stprComment);" );

//仅声明输入参数。

//好的实践把字符串长度。假设varchar(100)。

$ stmt-> bindParam(':usrEmail',$ tmpEmail,PDO :: PARAM_STR,100);

//不需要这些

// $ stmt-> bindParam(':newUserOK',$ newUserOK,PDO :: PARAM_INT,1);

// $ stmt-> bindParam(':stprComment',$ stprComment,PDO :: PARAM_STR,100);

$ stmt->执行();

$ outputArray = $ dbh-> query(" select @newUserOK,@ stprComment;" ) - > fetchAll();

foreach($ outputArray为$ row)

{

" NewUserOk:" 。 $ row [" @ newUserOk" ]。 " ,StprComment:" 。 $行[ " @ stprComment" ];

}

// $ outputArray = $ dbh-> query(" select @ newUserOK,@ stprComment" ) - > fetch(PDO :: FETCH_ASSOC);

// print" 程序返回[" 。 $ outputArray ['@ newUserOK']。 $ outputArray ['@ stprComment']。 " ] \ n" 个;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值