【发布时间】:2016-02-29 02:03:11
【问题描述】:
我有一个简单的 HTML 表单和一些 php 变量,如下所示,用于使用 submit 方法将书籍详细信息提交到名为 Book 的 MySQL 表。 clcode 是一个自增字段。
$isbn =$_POST["isbn"];
$bno =$_POST["b_no"];
$bname =$_POST["b_name"];
$qty =$_POST["qty"];
$price =$_POST["price"];
并且需要根据数量插入记录。例如:- 如果数量=2, 它需要执行两次插入查询(应该插入 2 条具有自动增量 clcode 的相同记录)。如果数量=5, 它需要执行 5 次插入查询(应该插入 5 条具有自动增量 clcode 的相同记录)等等...我使用了存储过程和以下 SQL 查询来执行此操作。
$query ="CREATE PROCEDURE myproc()
BEGIN
DECLARE i int DEFAULT 0;
DO
INSERT INTO book (isbn, b_no, b_name, qty, price) VALUES ('$isbn', '$bno', '$bname', '$qty', '$price');
SET i = i + 1;
WHILE i < $qty;
END WHILE;
END";
$result = mysql_query($query) or die ( mysql_error());
但它返回一个语法错误。我无法理解我出了什么问题。请。任何人都可以帮助我...? Tnx。
【问题讨论】:
-
您容易出现sql注入,请添加一些错误日志
-
所以你说
it is return a syntax error,但你不认为在这里发布你的问题是个好主意吗? -
如果 post qty 为 2,是否应该插入 qty = 1 的两行?我假设您的记录应该有 N 个最小比例为 1 的表行。
-
你为什么要为此使用存储过程?
-
@Xtern 找到答案。我已经测试过了。