调用“有返回值的存储过程”如何写法?

#1 lt1129

调用“有返回值的存储过程”如何写法?
谁能给个例子吗?多谢

2010-07-12 18:08:04

#2 jake

http://speedphp.com/bbs/thread-687-1-1.html

findSql

2010-07-12 21:55:47

#3 lt1129

http://speedphp.com/bbs/thread-687-1-1.html 的帖子中有提到:

runSql("set @myid = xxx");
findSql(" call myfunction() ");

我想问的是:
存储过程的传参:@myid是指in 还是out ?
我想使用out,请版主帮忙确认下,谢谢。

2010-07-13 15:06:13

#4 lt1129

请版主帮忙写个简单的例子吧,因为教程中没有写有关存储过程的call这部分内容。
比如有一个存储过程:
名称:  testProc
参数: in userid int
          out result int

请问如何调用法?

2010-07-13 15:12:00

#5 jake

请版主帮忙写个简单的例子吧,因为教程中没有写有关存储过程的call这部分内容。
比如有一个存储过程:
名称 ...
lt1129 发表于 2010-7-13 15:12
SQL怎么写呢?

2010-07-13 19:01:00

#6 lt1129

只要写下用 “findSql” 怎么调用该存储过程就行,多谢

2010-07-13 21:09:22

#7 jake

$results = spClass('lib_guestbook')->findSql(该存储过程的SQL);
findSql是调用PHP本身的mysql_query等函数来执行SQL,和普通的MYSQL客户端没什么分别。

你在mysql命令行(mysql的其中一种客户端)中怎么执行SQL的,findSql就怎么执行SQL。

如果不明白PHP是怎么执行SQL语句的,可以参考PHP手册:
http://cn.php.net/manual/en/function.mysql-query.php

简而言之,只要你能写出SQL语句,而权限足够的话,你可以通过PHP的mysql_query(或者可以说是SP框架的findSql/runSql)来执行任何的SQL语句并取得返回值。

2010-07-13 21:10:50

#8 lt1129

findSql是调用PHP本身的mysql_query等函数来执行SQL,明白了。
多谢版主大人!

2010-07-13 21:19:15