如何在php页面中使用参数调用过程

时间:2013-12-11 12:30:35

标签: php mysql

我有两个表一次主表另一个审计表用于备份过程如果仅在审计中删除记录...如果记录从审计手段中删除然后在主表上更新状态..... 例如 main

的表结构
id name status
==============
1 raj    1
2 arivu  0

例如审核

的表结构
id name status
==============
1 raj    1
2 arivu  0

此处状态1处于活动状态,0处于非活动状态

如果我删除 审核表中的记录 然后输出像 例如审计

的表结构
id name status
==============
1 raj    1

和 主表 例如审计表的表结构

id name status
==============
1 raj    1
2 arivu  2

如果从审计表中删除任何记录,则记录状态为0或1,只需将其更新为2

现在我写了解决问题的程序,但我不知道如何在php页面上调用该程序 我的程序就像

    DELIMITER $$

    DROP PROCEDURE IF EXISTS `users` $$
    CREATE DEFINER=`root`@`localhost` PROCEDURE `users`(in id int(25))
    BEGIN

delete from person_history where id=id ;

update person set active='2' where id=id ;


END $$

DELIMITER ;

4 个答案:

答案 0 :(得分:0)

就像你会调用普通查询一样

call Procedurename('parameter')

应该有效

答案 1 :(得分:0)

我假设您使用的是mysqli_*

$result = mysqli_query($connection, "CALL users('$parameter')") or die("Query fail: " . mysqli_error());

答案 2 :(得分:0)

这应该有效:

$id = 35; //hard coded, but you can replace this with a post or get var
$qry = "call users({$id});";
mysqli_query($conn,$qry);

答案 3 :(得分:0)

<?php 

  //connect to database
  $connection = mysqli_connect("hostname", "user", "password", "db", "port");

  //run the store proc
  $result = mysqli_query($connection, 
     "CALL StoreProcName") or die("Query fail: " . mysqli_error());

  //loop the result set
  while ($row = mysqli_fetch_array($result)){   
      echo $row[0] . " - " . + $row[1]; 
  }

?>

注意:上面的代码取自How to call a MySQL stored procedure from within PHP code

相关问题