我试图找出如何编写将运行存储的SQL例程的HTML表单。我之前从未做过这样的事情,似乎找不到与我的具体情况有关的任何事情。
正在处理数据库的人告诉我这是我需要执行的例程:
call prc_cat (name_id);
我基本上需要一个下拉菜单来选择其中一个名称(name_id)
并执行该名称的例程。
在数据库上工作的人不可用,所以我没有其他的东西可以用。
答案 0 :(得分:0)
您需要使用具有2个属性的表单:
method
:POST
(隐藏了网址参数)或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;
在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查询