无论我使用什么,我都无法从 PHP 运行 MySQL 存储过程。我来自 .Net 背景并且不太熟悉 PHP。
如果我从 PHP 尝试相同的查询,它不起作用,而如果我在 PHPMyAdmin 中的 SQL 编辑器中尝试它工作正常。
<?php
$sql="SET @p0='".$path.$imageName."'; SET @p1='".$_SESSION['uid']."'; CALL `upload_image`(@p0, @p1);";
$result = mysqli_query($con,$sql);
?>
并在 Mysql Phpmyadmin 中尝试了这个,它有效:-
SET @p0='images/user/Ganesh_1566681875.png'; SET @p1='1'; CALL `upload_image`(@p0, @p1);
这是我的存储过程:-
CREATE DEFINER=`root`@`localhost` PROCEDURE `upload_image`(IN `imagepath` VARCHAR(250), IN `userid` INT)
BEGIN
UPDATE user SET profile_image_path = imagepath WHERE id = userid;
END$$
DELIMITER ;
我必须能够通过从 PHP 变量传递值来运行存储过程,并且它必须为用户更新数据库。
眼眸繁星