首页 > 编程技术 > php

php调用mysql存储过程和函数的方法

发布时间:2016-11-25 16:15

存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。
在php中调用存储过程和函数。
1。调用存储过程的方法。
a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql
变量。
b。如果存储过程有OUT变量,声明一个Mysql变量。
mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar【=$pbpvar】");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果时IN参数,那么其值可以有phpar传入。
d。
 如果时存储过程。
1。执行 call procedure()语句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。
 直接执行 select function() 就可以了。
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];
转自:动态网制作指南 www.111cn.net

Macromedia 公司出品的 Flash 动画软件现已经成为Web页面上非常流行的表现工具,网站开发者利用它引起浏览者的兴趣。然而不幸的是,仅仅使用ActionScript创建动画受到很大的限制,Macromedia已经宣布,打算放弃Flash Generator产品,转而采用支持Flash MX的Cold Fusion,我们的网站将向何处去呢?现在,我们可以利用Ming PHP库来轻松地动态创建Flash动画,并且和我们的代码无缝集成。我们可以根据数据库里的数据创建出各种不同效果的动画。
Ming 动画库最初出现在PHP4.05版本里,替代了以前版本的LibSwf模块。Ming 库采用C编写,支持多种语言,下面先看一下如何利用PHP来制作动画。该库使用简单,和 PHP 紧密集成,但是,该库仍然处于实验阶段,目前的版本是0.2a,在线的教程、例子、和帮助手册可以让我们方便地学习,Ming里的函数组织的很有条理,方便PHP和Flash开发者查找。使用 PHP和Ming库,不但让我们的网站有华丽的装饰,而且可以减少开发Flash动画的费用和繁复的劳动。
使用Ming库有两种方式,我们可以内嵌到PHP里(对Unix平台而言),也可以把它作为一个PHP模块来运行,里面的函数支持所有的平台,使用时也无需实例化。如果我们把Ming库作为PHP模块来运行的话,我们必须明确地调用Ming库,和使用其他模块一样,然后使用该库里的函数。由于使用前必须先加载模块,与把Ming作为内部函数编译的方式相比,要有一点性能的下降。
Ming库是完全免费的,我们可以到创作者的网站下载,地址是:http://www.opaque.net/ming/,该网站有详细的使用手册和帮助,在使用前,请先看看安装和配置说明,地址是:http://www.opaque.net/ming/install.html。另外,在PHP网站上也有使用手册和详细说明,地址是:http://www.php.net/ming。
一旦我们正确安装和配置了Ming库,我们可以创建一个PHP对象,从PHP里调用Ming的函数,通过调用函数和属性,就可以定义我们的动画了。在PHP模块里有13个对象,提供了Flash的一些功能,也有几个命令可以来控制发行时的参数设定。下面就看看如何利用它来创建动画。
使用Macromedia Flash创建SWF格式的动画,我们先创建一些符号,Flash有三种类型的符号:图形、动画剪辑、按钮。一旦我们创建了这些符号,我们就可以把它们复制到场景里,每一个拷贝称为一个实例,可以放任意多的实例到我们的场景里。接下来就可以定义这些对象的行为了,也就是定义动作和运动轨迹,也可以定义动画的参数,如尺寸大小和背景颜色,如果需要,可以保存成.SWF文件。
1,要下载2个php的安装包:一个是install版本的,另一个是zip版本的 。
2,运行install版本,按照标准模式安装就可以了,安装过程中注意正确选择你的iIS版本。
2000server 选iis4或更高版本 ,2003server选择iis 6.
关联.php,.phtml.php3等文件类型。这里设定d:php作为安装目录
3,别着急,现在还不能马上用.把zip版的解压缩,到d:php5zip文件夹下面,copy目录下所有的文件和目录,然后粘贴到d:php,覆盖下面的所有文件.
4,C:PHPext下面的dll扩展文件复制到c:windowssystem32下面,*给guests用户组(我的机器上,每个站点设置了用不同的匿名用户,这些用户都属于guests组,如果你只有一个ISUR_你的机器名,则只需要设置ISUR_你的机器名的权限)这些关于PHP5的dll文件读取和运行的权限。
5,*给guests用户组php.exe,php-cgi.exe,php5isapi.dll读取和运行的权限。
6,*设置c:windowsphp.ini 或者 c:winntphp.ini为guests用户组可以:读取.
7,最后,别忘记在IIS里面给站点属性--〉文档里增加index.php或者default.php
8,MySQL的启用:
需要去掉c:windowsphp.ini 或者 c:winntphp.ini里面关于php_mysqli.dll扩展的注释
另外增加extension=php_mysql.dll
9,好了,如果要增加图形或其他功能,修改php.ini 里面的extension,并且把相关的dll文件复制到c:windowssystem32下面,并给guests用户组这些关于PHP5的dll文件读取和运行的权限。


第三章 范例:the Hangman Game


  这一章将会讲一下开发一个基于Web的Hangman Game(猜词游戏)。这里面会用到一些PRADO的组件。这个游戏说明了显示状态使PRADO页面具有很强的交互性。
  这个游戏只包括了一个页面来实现以下的功能:当用户第一次访问的时候,允许用户选择三种不同难度来开始这个游戏,不同的难度对应着不同的可以猜错的次数。游戏开始后,页面的上半部分会显示要猜得单词,没有猜中的字母用下划线显示。页面的下半部分列出了26个字母,用户可以点击对应字母来选择要猜的字母。如果用户放弃游戏或者错误次数超过了难度限制,会显示失败信息;如果猜对了,会显示成功信息。任何时候用户都可以重新开始游戏。
 

  范例中会使用的 PRADO 组件包括:

TRadioButton: 显示一个单选框。
TPanel: 显示 <div> 元素。
TLabel: 显示文本。
TButton: 显示一个提交按钮。
TLinkButton: 显示一个提交操作的超链接。
TForm: 显示 <form> 元素。
 

  这些定义好的组件通过属性和事件已经封装好了很多功能。比如,可以设置TPanelVisible
属性来控制整个<div>元素是不是可见。可以给TButton 组件的OnClick 事件指定一个响应函数,这样当用户点击按钮的时候就会自动调用响应函数。请参考PRADO API文档中关于这些组件更详细的信息。
  游戏中的一些数据在游戏过程中需要一值保持着的。因为这里只用了一个页面,所以可以使用显示状态而不需要使用session来保存这些数据。下面这些数据需要保存在显示状态中:

Word:要猜得单词。
GuessWord: 正在猜的单词(没有猜中用下划线显示)。
Level:游戏的难度级别。
Misses: 猜错的次数。
 

  他们都被定义在页面的属性中(当然也可以不这么做)。
 
  我们需要创建6个文件。假定这个应用放在Web服务器的根目录下,这些文件是:

hangman.php : 应用的主入口;
WEB-INF/hangman.spec: 应用的配置文件;
WEB-INF/hangman/HomePage.php: 页面类文件;
WEB-INF/hangman/HomePage.spec: 页面规格文件;
WEB-INF/hangman/HomePage.tpl: 页面模板文件;
WEB-INF/data/hangman.txt: 包含要猜得单词的文本文件。
  对于已经熟悉Apache+PHP+MYSQL的安装配置的开发人员,或者是不想涉及开发而只是想建立PHP应用程序的人来说,使用Apache/PHP/MYSQL安装套件来配置PHP的WEB环境会方便不少,但是选择合适的套件还是需要的。个人把曾经使用过的,以及比较知名的安装套件总结如下:
  WAMP
  一直在用的,带有phpMyAdmin和SQLiteManager ,提供了很多Add-on插件,如PHP版本切换、ZEND OPTIMIZER 、WEBALIZER等,站长推荐!
  http://www.wampserver.com/
  TSW
  比较完整,支持PERL,FTPServer,还提供有Tomcat和wordpress插件
  http://sourceforge.net/projects/yawamp/
  GREENAMP
  国产的套件,无删除功能
  http://chin.blogchina.com
  VertrigoServ
  内置了ZendOptimizer
  http://vertrigo.sourceforge.net/
  XAMP
  很不错,提供了丰富的插件,如perl、python、tomcat和cocoon
  http://www.apachefriends.org/de/xampp-windows.html
  WAPM
  国产的,支持Tomcat和Turck MMCahe、ZendOptimizer
  http://w.yi.org/
  Appserv
  也整合了Zend Optimizer
  http://www.appservnetwork.com/
  Apache2Triad
  包含了Perl , Python
  http://apache2triad.sourceforge.net
  EasyPHP
  安装比较简单
  http://www.easyphp.org/
  LiteWeb
  支持Perl和虚拟域名
  http://www.cmfperception.com/liteweb.html
  phpHome
  http://phphome.sourceforge.net/


标签:[!--infotagslink--]

您可能感兴趣的文章: