我第一次使用过程。如何使用procedure获取数据。我在sql文件中创建了这个过程。
CREATE PROCEDURE `GetUserProfile`(IN p_user_id INT, IN p_enabled BIT)
READS SQL DATA
BEGIN
# prepare init params
if p_user_id = 0 then
set p_user_id = null;
end if;
select parent_user_id
,user_id
,Last_name
,First_name
,email as Email_address
,mobile as Phone
from app_users
where app_user_id = IFNULL(p_user_id, user_id)
和enabled = IFNULL(p_enabled,enabled);
那么如何通过PHP获取用户详细信息,如First_name,Last_name等。 感谢
答案 0 :(得分:0)
您是否可以使用 sqlsrv_connect 功能连接到SQL Server数据库,使用 sqlsrv_prepare 函数调用 tsql函数和 $ params args,最后使用 sqlsrv_fetch _ * 函数之一来检索数据。
请参阅此页面上的说明: http://technet.microsoft.com/en-us/library/cc793139(v=sql.90).aspx
答案 1 :(得分:0)
您可以使用PDO执行mysql存储过程并访问结果。
参见示例on this page from the PHP Documentation。特别是例子#4
<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);
// call the stored procedure
$stmt->execute();
print "procedure returned $return_value\n";
?>
和示例#5
<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);
// call the stored procedure
$stmt->execute();
print "procedure returned $value\n";
?>
如果您在我建议浏览文档之前没有使用PDO,creating a new PDO object操纵数据库就像这样简单:
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);