用 PHP 调用 MySQL 存储过程
MySQL 5.0 以上支持存储过程。
PHP 5.0 以上的 mysqli 系列函数可以支持操作 MySQL 的存储过程。
以下是一些简单的存储过程和用 PHP 调用的示例。 一、返回单个数据: 1: <?php
2: header("Content-Type:text/html;charset=utf-8");
3:
4: $host = "localhost";
5: $user = "root";
6: $password = "mypassword";
7: $db = "test_store_proc";
8: $dblink = mysqli_connect($host, $user, $password, $db) or die("can't connect to mysql");
9:
10: $dblink->query('SET NAMES UTF8');
11: if ($result = $dblink->query("CALL sp_test0(@num, @x, 123)"))
12: {
13: $rs = $dblink->query("select @num");
14: $row = $rs->fetch_array();
15: echo $row['@num'], '<br>';
16:
17: $rs = $dblink->query("select @x");
18: $row = $rs->fetch_array();
19: echo $row['@x'];
20:
21: mysqli_free_result($rs);
22: }
23: else
24: echo 'error...';
25: mysqli_close($dblink);
26:
27: /*
28: -- Procedure "sp_test0" DDL
29: CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test0`(OUT num INT, OUT x VARCHAR(16), IN n INT)
30: BEGIN
31: DECLARE nouse int;
32: DECLARE tmp int;
33:
34: SELECT nId INTO nouse from open_news WHERE nID=39;
35: SELECT count(*) INTO tmp from open_news;
36: SET num = tmp;
37:
38: SET x = 'XXX';
39: END;
40: */
41: ?>
42:
二、返回结果集:
1: <?php
2: header("Content-Type:text/html;charset=utf-8");
3:
4: $host = "localhost";
5: $user = "root";
6: $password = "mypassword";
7: $db = "te
相关文档:
这里只是一个例子,用PHP生成数据字典的例子,适合懒人
<?php
/*
+----------------------------------------------------------------------+
| base: Yang Yu <yangyu@sina.cn> create@2009-5-18 |
| ......
本示例通过 while...end while 循环控制游标来实现插入表记录。
DROP PROCEDURE IF exists pro_initCategoryForTradingEntity;
create procedure pro_initCategoryForTradingEntity(tradingEntityId int)
begin
declare f_parent,entityId int;
declare b int default 0; ......
1. 数据库
切换数据库: use mydb
2. 事件
查看事件: show events
启动调度器: set global event_scheduer = 1;
查看是否启动: show variables like 'event_scheduler';
3. 备份
在administator中的backup中无法备份数据库的事件。需要手动将创建事件的脚本添加到sql备 ......
zz linux yum安装mysql后要注意的一些初始化问题
我的服务器装的是centos 5.3,由于最开始安装做了详细的记录,所以整个过程也是轻车熟路,一路yum下来,就搞定了,然后就是数据库、网站的搬家,轻松搞定~
可是今天在家看了下公司的网站,问题出来了~ 有些产品点击查看详细信息的时候,找不到网页~经过一番思考,发现是mysql ......
php 通用的调用 so的方法是使用dl()函数,但是在php5.3之后不再支持这种方法,仅支持静态调用,使用dl() 动态调用的方法见:
引用页1: http://tech.idv2.com/2007/07/06/use-local-so-in-php/
感谢原作者提供的清晰明了的方法,但是我在5.3.1版本i中没有通过,于是我找到了页面:
  ......