0

大家好,我的流程页面不起作用,我的代码是

<?php
$id = $_POST['item_id'];
$qty = $_POST['item_qty'];
$name = $_POST['item_name'];

$con = mysqli_connect ("localhost", "name", "password", "db");

// Check connection
if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

$sql = "INSERT INTO Temp (id, qty, name)
VALUES
('$_POST[id]', '$_POST[qty]', '$_POST[name]')";

if (!mysqli_query($con, $sql))
    {
    die('Error: ' . mysqli_error());
    }

header('Location: http://url.com/');

mysqli_close($con);

?>

应该都是正确的,只是从 w3school 复制,问题是,db 只得到 0,

IE。我的$id 是4,$qty 是12,$name 是"Hello",进程页后,表只有id 和qty 两个0,name 是无效的。

值应该成功处理到这个进程页面,bc我试过了

echo $id, $qty, $name;

一切都和我之前输入的一样。

有人可以帮我吗?谢谢 :-)

4

2 回答 2

0

这一行:

INSERT INTO Temp (id, qty, name) VALUES ('$_POST[id]', '$_POST[qty]', '$_POST[name]')";

应该:

INSERT INTO Temp (id, qty, name) VALUES ('$id', '$qty', '$name')";

如果form来自您之前的问题,则不需要:

$id = $_POST['item_id'];
$qty = $_POST['item_qty'];
$name = $_POST['item_name'];
于 2013-03-30T02:06:24.423 回答
0

我同意您似乎遗漏了 item_。您可能需要先清理数据。

$id=mysqli_real_escape_string($_POST['item_id']);
$qty=mysqli_real_escape_string($_POST['item_qty']);
$name=mysqli_real_escape_string($_POST['item_name']);

$sql = "INSERT INTO Temp (id, qty, name)
VALUES ('$id', '$qty', '$name')";
于 2013-03-30T02:09:26.683 回答