Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 2659|回复: 6
打印 上一主题 下一主题

mysqli 怎么 得到 Store Procedure 的Result ?

 关闭 [复制链接]

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

跳转到指定楼层
1#
发表于 2009-10-12 01:46 AM |只看该作者 |倒序浏览
如题,mysqli->query("CALL myStoreprocedure('$myvalue')");

但是要怎么 return 是不是成功 insert了 -.-|||




收藏收藏0

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

2#
发表于 2009-10-12 01:57 AM |只看该作者
原帖由 宅男-兜着走 于 2009-10-12 01:46 AM 发表
如题,mysqli->query("CALL myStoreprocedure('$myvalue')");

但是要怎么 return 是不是成功 insert了 -.-|||


不明白你的 sql string??

query 參數傳遞 sql string 之後,  query 會回傳 true 或 false


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

3#
发表于 2009-10-12 02:11 AM |只看该作者
原帖由 Super-Tomato 于 2009-10-12 01:57 AM 发表


不明白你的 sql string??

query 參數傳遞 sql string 之後,  query 會回傳 true 或 false

// 这个是 mysql store procedure 但是好像 insert 了, 不会return 值。
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_all_bean`()
BEGIN
SELECT * FROM nb_netbean;
END

我的CLASS。

class database {

var $mysql;

public function database(){
   $this->mysql = new mysqli("localhost" ,"root" , "" , "net_bean_db" );
  }


public function insert_new_bean($beanbean , $bean_name){
if(isset($beanbean) || isset($bean_name)){
   
$result = $this->mysql->query("CALL insert_new_bean('$beanbean' , '$bean_name')");

return $result->store_result; // 看来这句是 return 空的, 因为我的 store procedure 没 set return。
}else{
    return null;
}

}



所以基本上就是如此。


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

4#
发表于 2009-10-12 02:19 AM |只看该作者
原帖由 宅男-兜着走 于 2009-10-12 02:11 AM 发表




class database {

var $mysql;

public function database(){
   $this->mysql = new mysqli("localhost" ,"root" , "" , "net_bean_db" );
  }


public function insert_new_bean($beanbean , $bean_name){
if(isset($beanbean) || isset($bean_name)){
   
$result = $this->mysql->query("CALL insert_new_bean('$beanbean' , '$bean_name')");

return $result->store_result; // 看来这句是 return 空的, 因为我的 store procedure 没 set return。
}else{
    return null;
}

}



所以基本上就是如此。



$this->mysql->query("CALL insert_new_bean('$beanbean' , '$bean_name')");
這是甚麼 sql query 啊?? 你已經學了 SQL 嗎??

$result->store_result;
變數與函數是有差別的  store_result != store_result()


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

5#
发表于 2009-10-12 02:36 AM |只看该作者
原帖由 Super-Tomato 于 2009-10-12 02:19 AM 发表



$this->mysql->query("CALL insert_new_bean('$beanbean' , '$bean_name')");
這是甚麼 sql query 啊?? 你已經學了 SQL 嗎??

$result->store_result;
變數與函數是有差別的  store_result != store_ ...


store_result() < 我试过, 但是他报 Error。
抱歉~ 那个是我最近看到的 SQL 写法, 是直接写在 Store Procedure 的。 但是我不会怎么回传。


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

6#
发表于 2009-10-12 02:45 AM |只看该作者
原帖由 宅男-兜着走 于 2009-10-12 02:36 AM 发表


store_result() < 我试过, 但是他报 Error。
抱歉~ 那个是我最近看到的 SQL 写法, 是直接写在 Store Procedure 的。 但是我不会怎么回传。


CALL 在 mysql 中是呼叫某個函數, 而該函數則是回傳 sql query, 如 return "SELECT * FROM......."


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

7#
发表于 2009-10-12 03:43 AM |只看该作者

回复 #6 Super-Tomato 的帖子

public function insert_new_bean($beanbean , $bean_name){
if(strlen($beanbean) > 0  && strlen($bean_name) > 0 ){
return @$this->mysql->query("CALL insert_new_bean('$beanbean' , '$bean_name')");
}
}

这样就能了 , 呵呵呵, 原来还会顺便回传是否有没有insert 到的。 跟 MYSQL_QUERY 的效果是一样的。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-25 09:49 AM , Processed in 0.114236 second(s), 27 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部