|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
DBaaS解决方案既可以解决这些问题,又能为客户节约资金。相反作为解决方案提供商,采用DBaaS模式似乎就并不那么有吸引力了,因为与企业内部署软件的解决方案相比,DBaaS意味着更低的利润。本文中作者经由过程本人创立一个处置毗连MySQL和利用php中的domxml功效来供应XML输入的类。如许就能够能够在PHP剧本的任何中央声明这个类而且在必要利用它的时分能够供应XML功效。
假定人们利用PHP是缘故原由是他的标价:收费。MySQL为必要向体系中增添数据库功效的开辟职员供应一个收费的数据库办理计划。这些办理计划的弱点是在设置和办理的时分有些庞大。
我在这篇文章中利用的PHP版本是PHP4.3.4forWin32,能够从ThePHPGroup下载。MySQL的版本是MySQL4.0.16forWin32,能够从MySQL.com失掉。MySQL的安装很简单――只需复杂地依照其指令来就能够了。PHP略微有一点庞大。
在PHP的下载页面有两个文件:一个Zip文件和一个安装文件。由于我们必要增加ZIP文件中的扩大,以是这两个文件都要下载。上面是下载以后的所要做的一个复杂步骤:
1.利用安装文件安装PHP;
2.解压iconv.dll,将其放到Windows的体系文件夹中;
3.PHP安装目次下创立一个目次(默许为C:PHP)“extensions”;
4.解压PHP_domxml.dll文件到这个目次;
5.在Windows文件夹下找到PHP.ini文件,然后利用记事本或别的文本编纂器翻开。在这个文件中找到“extensions_dir=”,然后将其值修正为第3步设置的扩大文件夹的完全路径;
6.找到“;extension=PHP_domxml.dll”,删除本行开首的分号;
7.从头启动Web服务器。
然后在你的Web目次下利用上面的代码创立一个PHP页面“test.PHP”。(这段代码在运转IIS5.0的Windows2000SP3可以一般运转。)
以下为援用的内容:
run_sql_return_xml("SELECT*FROMusers");
classCMySQLXML{
var$host;
var$user;
var$passWord;
var$db;
functionCMySQLXML($host,$user,$password,$db){
$this->host=$host;
$this->user=$user;
$this->password=$password;
$this->db=$db;
}
functionrun_sql_return_xml($sql_string){
$connection=MySQL_connect($this->host,$this->user,$this->password,
$this->db);
MySQL_select_db($this->db);
$result=MySQL_query($sql_string);
$doc=domxml_open_mem("");
while($row=mysql_fetch_array($result,MySQL_ASSOC)){
$num_fields=MySQL_num_fields($result);
$row_element=$doc->create_element(MySQL_field_table($result,0));
$doc_root=$doc->document_element();
$row_element=$doc_root->append_child($row_element);
for($i=0;$i<$num_fields;$i++){
$field_name=MySQL_field_name($result,$i);
$col_element=$doc->create_element($field_name);
$col_element=$row_element->append_child($col_element);
$text_node=$doc->create_text_node($row[$field_name]);
$col_element->append_child($text_node);
}
}
MySQL_free_result($result);
MySQL_close($connection);
return$doc->dump_mem(false);
}
}
这个例子请求你在MySQL上有一个数据库“test”,个中有一个表“users”。并且,你还必要为会见测试数据库上的数据创立一个用户。创立数据库、表等的步骤能够检察MySQL的文档。
假如你剖析一下代码,你就会分明我创立了一个叫做CMySqlXML的类。CMySqlXML机关函数承受四个参数:MySQL的主机名,一个正当的用户名,一个暗码和一个数据库名字。机关函数利用这四个参数设置类的host、user、password和db成员变量。
该类供应的独一的一个办法是run_sql_return_xml()。它承受一个SQL查询字符串参数。当这个办法实行的时分,它创立一个到MySQL数据库的毗连并选择数据库。查询字符串被实行,了局存储到变量$result中。利用domxml_open_mem()函数创立一个新的DOMDocument工具。然后,代码入手下手轮回了局会合的一切纪录。关于每笔记录,增加一个与了局集的表同名的行元素到DOMDocument文档元素中。然后为每一个字段增加一个元素到行元素中,元素名为字段名。最初,一个文本节点被增加到每一个字段节点,节点的值为该字段的值。
在轮回一切行以后,代码开释了局集并封闭毗连。发生的DOMDocumentXML从函数中前往。
在PHP页面的入手下手处你会看到CMySQLXML工具被实例化,run_sql_return_xml()办法被挪用。这个办法的前往值被前往给客户。domxml功效除PHP函数定名商定以外都恪守DOM标准。
假如必要更多有关DOM标准的信息,能够会见W3C的站点。而更多domxml的信息则能够从ThePHPGroup找到,在这里你能够下载分歧格局的文档。
DBaaS会导致单一客户利润率的下降,因为云服务一般是依靠MySQL学习教程数来抵消较低的利润率。 |
|