如何为我想从 php 调用的这个 mysql 查询创建存储过程

骑士007
SELECT *
 FROM employee
 INNER JOIN experience ON employee.PersonID=experience.PersonID WHERE employee.Firstname LIKE '%".$fname."%' AND experience.Year_Of_Experience >= $year;

因为我正在使用两个表的内部连接,任何人都可以帮助了解如何从 php 调用以从数据库中获取数据。

帮我解决这个问题。

布赖恩·戈蒂尔

我根据您的参数猜测这将是合适的:

DELIMITER $$

DROP PROCEDURE IF EXISTS great_procedure_name $$

CREATE PROCEDURE `great_procedure_name`(fname varchar(21844) CHARACTER SET utf8, year int)

BEGIN

SELECT *
FROM employee
INNER JOIN experience 
ON employee.PersonID = experience.PersonID 
WHERE employee.Firstname LIKE CONCAT('%', fname , '%') 
AND experience.Year_Of_Experience >= year;

END $$

DELIMITER ;

然后调用它:

CALL great_procedure_name('abc', 23);

在发布答案之前,我在我的系统上对此进行了测试,因此它应该适合您。我不知道您是如何在 PHP 中进行 MySQL 查询的,但使用 CALL 通常非常简单。许多人会遇到的问题是过程可以返回多个结果,因此您需要准备单步执行它们,即使您只有一个结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章