首先我们要登陆http://www.phprm.com(做为现在的主流开发语言)MyAdmin,不做演示。
2、创建一个http://www.phprm.com,如下图,在php(做为现在的主流开发语言)MyAdmin右边窗口中,填写数据库名称,点创建即可。
首先我们要登陆http://www.phprm.com(做为现在的主流开发语言)MyAdmin,不做演示。
2、创建一个http://www.phprm.com,如下图,在php(做为现在的主流开发语言)MyAdmin右边窗口中,填写数据库名称,点创建即可。
大家知道,存储过程是在服务器端的一个脚本程序,执行起来速度很快,但它也有一个缺点,就是依靠与一个固定数据库,移植性不好!
我的上回文章,提到了用com组件是可以访问ado以及相关的组件,无论是自己建的还是系统带的,都可以扩展系统的功能,但现在php不支持dcom/com ,但相信它的下一个版本应该是支持的。
不说这么多了,我们马上试一下吧。
下面是我的一个简单的存贮过程
CREATE PROCEDURE [sp_mystoreprocedure] AS
select companyname, contactname, city from customers
其实,还可以写比较复杂的,可惜我对此研究不深,只好取简单了!
下面是我的php文件
<?
define ("OLEDB_CONNECTION_STRING",
"Provider=SQLOLEDB; Data Source=zzb; Initial Catalog=Northwind; User ID=sa; Password=");
$dbc = new COM("ADODB.Connection");
$dbc->Open(OLEDB_CONNECTION_STRING);
$command = "sp_mystoreprocedure";
$rs = $dbc->Execute($command); // Recordset
$i = 0;
echo '<table cellSpacing="1" cellPadding="3" width="600" align="center" bgColor="#000000" border="0">
<tr vAlign="bottom" bgColor="#9999cc">
<th>Directive</th>
<th>Local Value</th>
<th>Master Value</th>
</tr>';
while (!$rs->EOF) {
$i = 1;
$fld0 = $rs->Fields(0);
$fld1 = $rs->Fields(1);
$fld2 = $rs->Fields(2);
print '<tr vAlign="baseline" bgColor="#cccccc">
<td bgColor="#ccccff"><b>';
print $fld0->value;
print '</b><br></td>
<td align="middle">';
print $fld1->value;
print '</td><td align="middle">';
print $fld2->value;
print '</td></tr>';
$rs->MoveNext();
}
print '</TABLE>';
$rs->Close();
?>
注重的是,你的服务器必须打开!另外,就是不能写错存贮过程的名称。否则会出项致命的错误,而且,你根本就不知道错误在那里,这就是php文件对错误处理的不好之处,但相信它以后是会改进的。
我学php需然有很长时间了,但发现要真正用好它,不那么轻易,但它确实也超出了我的想象,有些东西真的很奇妙,真是,不用不知道,一用真奇妙!
Warning: mssql_query() [function.mssql-query]: message: 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数据发送到客户端。 (severity 16) in F:myweblzljcn.php on line 21
Warning: mssql_query() [function.mssql-query]: Query failed in F:myweblzljcn.php on line 21
PHP的数据库的ODBC
的ODBC是一种应用编程接口( API ) ,允许您连接到一个数据源(如MS Access资料库) 。
-------------------------------------------------- ------------------------------
创建一个ODBC连接
由于ODBC连接,可以连接到任何数据库,在任何电脑上,在您的网络,只要一个ODBC连接可用。
以下是如何创建ODBC连接到MS Access资料库:
打开管理工具图标在您的控制面板。
双击数据源( ODBC )图标内。
选择系统DSN标签。
点击添加系统DSN标签。
选择的Microsoft Access驱动程序。单击完成。
在接下来的画面中,按一下选择找到数据库。
给数据库的数据源名称( DSN ) 。
单击确定。
请注意,此配置需要做的计算机上您的网站上的位置。如果您正在运行Internet信息服务器( IIS )在您自己的电脑,上面的指示,将工作,但如果您的网站位于远程服务器上,你必须要有实际接触到该服务器,或要求您的网页主机,以向建立一个DSN的供您使用。
-------------------------------------------------- ------------------------------
连接到一个ODBC
该odbc_connect ( )函数是用来连接到ODBC数据源。该函数四个参数:数据源名称,用户名,密码和一个可选的游标类型。
该odbc_exec ( )函数是用来执行SQL语句。
例如
下面的例子创建了一个连接的DSN所谓北风,没有用户名和密码没有。然后它创建了一个数据库并执行它:
PHP mysql_data_seek() 函数教程
定义和用法
该mysql_data_seek ( )函数移动内部行指针。
连续的内部指针是目前排在返回结果的mysql_query ( )函数。
此函数返回TRUE成功,或FALSE的失败。
语法
如何列出mysql 服务器的所有数据库 mysql_db_name
定义和用法
该mysql_db_name ( )函数认为,从数据库名称呼吁mysql_list_dbs ( )函数。
这个函数返回数据库名称上的成功,或FALSE的失败。
语法
现在我们来看看 mysql_fetch_field() 函数吧,这个函数 是就读取mysql 数据表的例名,字段名.下面我们来看看它的语法哦.
mysql_fetch_lengths 的作用是判断mysql_fetch_array ( ) , mysql_fetch_assoc ( ) , mysql_fetch_object ( )或mysql_fetch_row ( )的长度,如果成功就返回一个陈列,否则就返回false;
定义和用法
该mysql_real_escape_string ( )函数越狱特殊字符的字符串中使用SQL语句
以下字符的影响:
x00
n
r
'
"
x1a
定义和用法
该mysql_field_flags ( )函数返回的旗帜外地的记录。
这一功能得到外地数据mysql_query ( )函数,并返回一个字符串的成功,或FALSE或失败时,有没有更多的行。
数据用逗号隔开。
表单:
<form action="" method="post">
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="4"/>
<input type="submit"/>
</form>
好$ID_Dele=$_POST['ID_Dele']将会是一个数组,虽然说PHP是弱类型的,但这里可没ASP弱。
ASP可以直接:
SQL="delete from [doing] where id in ('"&ID_Dele&"')"进行删除。但PHP不能把$ID_Dele直接放进去。因为$ID_Dele可不是'1,2,3,4'哦,因为$ID_Dele是一个数组,具有键和值。
好,PHP中也不难,刚好有个函数:implode(),对了。同split()explode()功能刚好相反的一个函数,后两者是用某字符(比如逗号)分割的,而前者则可以拼接为字符串。
因此:
$ID_Dele= implode(",",$_POST['ID_Dele']);
$SQL="delete from `doing` where id in ($ID_Dele)";
$errmsg = "" ;
if (! @ mysql_connect ( "localhost" , "trainee" , "abc123" )) {
$errmsg = "Cannot connect to database" ;
}
@ mysql_select_db ( "wellho" );