有没有办法打开php/mysql 5的驱动程序日志记录?是否有日志显示内部正在发生的事情…像所有数据库活动一样?低级错误?
我正在尝试获取一个简单的PHP页面来调用Windows7上的一个简单的存储过程。当mssql_init()失败时,mysql_error不会返回任何错误消息。
考虑到这可能是一个权限问题,我创建了一个新用户,得到了相同的结果:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass1';
GRANT ALL ON *.* TO 'user1'@'localhost';
代码如下:
create table trace (
trace varchar(50) not null,
datet datetime not null
);
drop procedure if exists mark;
delimiter !!
create procedure mark()
begin
insert into trace (trace,datet) values ('mark',now());
end; !!
delimiter ;
我可以从MySQL Workbench调用SP,很好:
call mark();
下面是PHP页面:
<?php
$connection = mysql_connect('localhost', 'user1', 'pass1');
if (!$connection) {
die('Could not connect: ' . mysql_error());
}
$sel = mysql_select_db('tw');
if (!$sel) {
die('Could not select_db: ' . mysql_error());
}
//$stmt = mssql_init('mark', $connection);
//$stmt = mssql_init('mark', $sel);
$stmt = mssql_init('mark');
if (!$stmt) {
die('Could not init: ' . mysql_error());
}
$result = mssql_execute($stmt);
if (!$result) {
die('Could not execute: ' . mysql_error());
}
mysql_free_result($result);
mssql_free_statement($stmt);
mysql_close($connection);
printf("DONE<br />");
?>
其他概念证明页
插入,
*选择,*等,工作正常。只是无法从网页上运行一个愚蠢的存储过程!
页面输出仅此:
不能初始化:
(The
PHP mssql_init documentation page
不是很有用,似乎有错别字,因为$link变量没有定义。)