通过存储过程和PHP添加信息?

时间:2010-03-26 10:28:30

标签: php mysql

我有一个包含很多元素的表单,我的DB人已经生成了一个SP,现在我需要调用该存储过程。我的表单有二十个元素,当我点击提交时,数据必须保存在数据库中。我知道如何在插入查询中执行此操作,但如何调用SP并执行此操作。

有10个表格可以保存数据。

3 个答案:

答案 0 :(得分:4)

我从来没有在MySQL中使用过存储过程,但除了使用CALL作为查询关键字之外,它与“普通”SQL查询没有区别。

而不是:

INSERT INTO table (column1, column2, column3) VALUES ('value 1', 'value 2', 3)
你这样做:

CALL function_name('value 1', 'value 2', 3);

(假设您的存储过程被称为function_name,并且需要2个字符串参数和一个数字参数。

答案 1 :(得分:1)

PDO有一种通过预处理语句处理存储过程的好方法。我强烈建议使用它而不是使用“简单的SQL”。

<?php
// Calling a stored procedure with an output parameter
$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";
?>

答案 2 :(得分:0)