将变量传递给存储过程

时间:2013-12-26 20:05:17

标签: php mysql stored-procedures

使用php我试图将变量传递给MySQL中的存储过程。当我点击删除按钮时,我得到了一个“白屏死机”。以下是我的代码:

if (isset($_POST['delete'])) {
    $stmt = mssql_init('update_new_sn', $conn);

    mssql_bind($stmt, '@selectedID', $fileID, SQLINT1);
    mssql_bind($stmt, '@selectedRMAID', $rmaID, SQLINT1);

    $deleteRecord = mssql_execute($stmt);

}

这是我的存储过程:

DROP PROCEDURE `update_new_sn`//
CREATE DEFINER=`admin`@`localhost` PROCEDURE `update_new_sn`(in selectedID int, in selectedRMAID int)
begin

delete from dropbox where id = selectedID;
update rma set ref_status_id = 0 where id = selectedRMAID;

end

当我在phpmyadmin中测试它时,该过程有效,它成功删除了“dropbox表中记录的所选内容,并更新了rma表。所以在我的php块中似乎有问题。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

以下是如何使用mysqli API使用MySQL:

$stmt = mysqli_prepare($con, 'CALL update_new_sn(?, ?)');
mysqli_bind_param('ii', $fileID, $rmaID);
$deleteRecord = mysqli_execute($stmt);