1

我的文件中有以下代码:

$s.='<form method="post">';
$s.='NAME: <input type="text" name="name" id="name" /><br>';
$s.='Email: <input type="text" name="email" id="email" /><br>';
$s.='Comment:<br />';
$s.='<textarea name="comment" id="comment" /></textarea><br>';
$s.='<input type="hidden" name="articleid" id="articleid" value="' . $id . '" />';
$s.='<input type="submit" name="submit" value="Submit" />';
$s.='</form>';
if(isset($_POST['submit'])&&$_POST['submit']=='Submit'){
    $table = 'comment';
    $row = array(
            'blog_id' => $_POST['articleid'],
            'name' => $_POST['name'],
            'email' => $_POST['email'],
            'comment' => $_POST['comment']
            );
    $x = pdoQuick::getManager()->insert($row, $table);
    header('location: example.com/xyz ');
}

insert ()我从这里使用

id我在隐藏字段中使用的没有articleid任何问题。问题出在其他地方。

我的数据库表comment中的值没有插入。

4

2 回答 2

2

如果您假装从 php like 中检索它,您应该为您的提交按钮命名$_POST['submit'],如下所示:

$s.='<input type="submit" name="submit" value="Submit" />';
                              ^----- YOU FORGOT THIS
于 2013-06-22T12:07:03.477 回答
0

可能不是您想听到的,但我想说的是,在您在这里度过并尝试自己解决问题的时间里,学习 PDO 可能会使您受益更多,然后您就不必依赖应该为您工作的其他人的代码理论上。PDO 的基础知识可以在一个小时内轻松学习,这不是开玩笑。我的 2 美分。

尝试查看以下代码是否适合您。

$db=new PDO("mysql:host=localhost;dbname=test;","root","password");

$sql = "INSERT INTO comment (blog_id,name,email,comment) VALUES (:blog_id,:name,:email,:comment)";
$ami = $db->prepare($sql);
$ami->execute(array(
        ':blog_id' => $_POST['articleid'],
        ':name' => $_POST['name'],
        ':email' => $_POST['email'],
        ':comment' => $_POST['comment']
        ));

print_r($ami->errorInfo()); // debug

http://php.net/manual/en/pdo.prepared-statements.php

于 2013-06-22T12:54:31.387 回答