Php 将变量传递给存储过程
使用php,我试图将变量传递给MySQL中的存储过程。当我点击删除按钮时,我会看到一个“死亡的白色屏幕”。下面是我的代码:Php 将变量传递给存储过程,php,mysql,stored-procedures,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, SQLI
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代码块似乎有问题
提前感谢您的建议。以下是如何使用MySQL和mysqli API完成此操作:
$stmt = mysqli_prepare($con, 'CALL update_new_sn(?, ?)');
mysqli_bind_param('ii', $fileID, $rmaID);
$deleteRecord = mysqli_execute($stmt);
你的PHP代码使用MSSQL,但你的问题被标记为MYSQL。这是什么?如果他使用phpmyadminSo,那么安全的假设第一个问题是你试图使用MSSQL API,但你有一个MYSQL数据库。这不可能工作。感谢你指导我正确的方向。你能解释一下(?,,,)和“ii”吗“正在做什么?问号是用绑定参数填充的占位符。而
ii
意味着参数是整数,就像您最初尝试的SQLINT1
一样。