没用过,只用过一个事务处理的,
START TRANSACTION;//开始时
for($i=0;$i<10;$i++)
{
mysql_query("UPDAT `yourTable` SET `value`= 'hello' WHERE `id`='$i'");
}
COMMIT;//结束时以下是手册上的:5.4.4 存储过程和触发器
一个存储过程是能在服务器中编译并存储的一套SQL命令。一旦这样做了,顾客不需要一直重新发出全部查询,而可以参考存储过程。因为查询仅需一次词法分析并且较少的信息需要在服务器和客户之间传送,因此这提供了更好的性能。你与可以通过拥有在服务器中的函数库提升概念上的层次。
一个触发器是当一个特别的事件发生时,被调用的一个存储过程。例如,你可以安装一个存储过程,它在每次从一个交易表删除一条记录时触发,并且当它所有交易被删除时,自动地从一个客户表中删除相应的客户。
计划修改的语言将能处理存储过程,但是没有触发器。触发器通常使每件事情变慢,即使对他们不需要的查询。
为了俩解什么时候MySQL可能得到存储过程,见F 我们想在未来加入到MySQL的事情列表(TODO)。
START TRANSACTION;//开始时
for($i=0;$i<10;$i++)
{
mysql_query("UPDAT `yourTable` SET `value`= 'hello' WHERE `id`='$i'");
}
COMMIT;//结束时以下是手册上的:5.4.4 存储过程和触发器
一个存储过程是能在服务器中编译并存储的一套SQL命令。一旦这样做了,顾客不需要一直重新发出全部查询,而可以参考存储过程。因为查询仅需一次词法分析并且较少的信息需要在服务器和客户之间传送,因此这提供了更好的性能。你与可以通过拥有在服务器中的函数库提升概念上的层次。
一个触发器是当一个特别的事件发生时,被调用的一个存储过程。例如,你可以安装一个存储过程,它在每次从一个交易表删除一条记录时触发,并且当它所有交易被删除时,自动地从一个客户表中删除相应的客户。
计划修改的语言将能处理存储过程,但是没有触发器。触发器通常使每件事情变慢,即使对他们不需要的查询。
为了俩解什么时候MySQL可能得到存储过程,见F 我们想在未来加入到MySQL的事情列表(TODO)。
解决方案 »
- 如何判断每组数组里有多少个正数和负数?
- webqq太搞笑了啊,,兼容火狐,谷歌,,但是ie居然不兼容
- 表单控件(form control)既可以输入又可以选择
- iconv遇到一个字符不能正确转换奇怪
- 处理转换一个数组的各个单元时,用foreach和array_map哪个更好?
- 类的继承,为什么会报错啊?请大家来研究研究?
- 小问题,关于从url接受参数的问题
- php实现类似邮件列表功能?
- 请教高手,我用的是NT+APACHE+PHP+MODSSL+OPENSSL,可是为什么使用框架页面,ssl就提示说该页面不安全呢?
- 求助 用curl传输的json数据发生变化
- 标题里说不清,请进入...
- 如何向服务器发送HTTP头?急~
$res = mysql_query("call dd()")中的call dd();
可能是MS-SQL中的吧
mysql_query("START TRANSACTION");//开始时
for($i=0;$i<10;$i++)
{
mysql_query("UPDAT `yourTable` SET `value`= 'hello' WHERE `id`='$i'");
}
mysql_query("COMMIT");//结束时
call dd()这是MYSQL的
exec dd()这才是MS-SQL的
试过了,也不行
用print_r($row)也什么都不出来。
mysqli_select_db("test");
$res = mysqli_query("call dd()");
while ($row = mysqli_fetch_array($res)) {
echo $row[0]."<br>";
}
我试过了也不行。
我在php.ini加了extension=mysqli.dll,但我在我的PHP版本里面并没有找见mysqli.dll文件。要怎么样才能正确加载mysqli.dll文件。(我用的是PHP5)
MysqlI Support enabled
Client API library version 4.1.7
Client API header version 4.1.7
MYSQLI_SOCKET /tmp/mysql.sock Directive Local Value Master Value
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.reconnect Off Off
replace all your mysql functions with mysqli
they are the same way to use.
但是用wenshuicao(水草) 的方法还是不行
mysqli_connect("localhost", "root", "root");
mysqli_select_db("test");
$res = mysqli_query("call dd()");
while ($row = mysqli_fetch_array($res)) {
echo $row[0]."<br>";
}
<?
$link = mysqli_connect("localhost", "root", "root","test");/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* Select queries return a resultset */
if ($result = mysqli_query($link, "call dd()")) {
printf("Select returned %d rows.\n", mysqli_num_rows($result));
while ($row = mysqli_fetch_array($result)) {
print_r($row[0]);
echo "<br />";
} /* free result set */
mysqli_free_result($result);
}/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */mysqli_close($link);
?>
我原来用的是php.ini-recommended,后来改用php.ini-dist就可以了。
wenshuicao(水草)、lantersen(蓝水仁),谢谢你们!!