从HTML执行SQL调用例程

时间:2015-04-20 13:04:50

标签: php html mysql

我试图找出如何编写将运行存储的SQL例程的HTML表单。我之前从未做过这样的事情,似乎找不到与我的具体情况有关的任何事情。

正在处理数据库的人告诉我这是我需要执行的例程:

call prc_cat (name_id);

我基本上需要一个下拉菜单来选择其中一个名称(name_id)并执行该名称的例程。

在数据库上工作的人不可用,所以我没有其他的东西可以用。

3 个答案:

答案 0 :(得分:0)

您需要使用具有2个属性的表单:

  • methodPOST(隐藏了网址参数)或GET(显示了网址参数)
  • action:执行程序的.php文件的路径

表单如下所示:



<form action="myFile.php" method="POST">
  <select name="name_id">
    <option>10</option>
    <option>11</option>
    <option>12</option>
    </select>
  <input type="submit" />
  </form>
&#13;
&#13;
&#13;

myFile.php中,您将通过写入来取回选择值:

$name_id = $_POST["name_id"];

执行该过程所需的sql代码就在这里。

答案 1 :(得分:0)

您可以像调用任何其他sql语句一样调用存储过程。

制作带有相关下拉列表的html表单:

<form action="subToDB.php" method="post">
<select name="uName">
<option value="1">Allan</option>
<option value="2">Bill</option>
</select>
</form>

然后创建一个php脚本,将该名称的id(来自options value属性)传递到数据库中的存储过程中:

<?php
$nID = $_POST['uName'];
$con = new PDO("mysql:host=<database address>;dbname=<name of schema with stored proc>", "<dbUserName>", "<dbPassword>");
$stmt = $con->prepare("CALL prc_cat (:name_id)");
$stmt->bindParam(":name_id", $nID, PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll(PDO::FETCH_ASSOC);
...
<Do whatever you like with the results of your query>
?>

请务必同时更改PDO连接信息。

答案 2 :(得分:-1)

您需要将表单提交到php文件。 在这里,您可以使用字符串&#34; SELECT prc_cat(&#39; name_id&#39;)&#34;

运行SQL查询