通过PHP表单在数据库中插入值

时间:2013-06-22 12:03:34

标签: php mysql post pdo

我的文件中包含以下代码:

$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 ');
}

我在here

中使用insert ()

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

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

2 个答案:

答案 0 :(得分:2)

如果你假装从像$_POST['submit']这样的php中检索它,你应该给你的提交按钮命名,如下所示:

$s.='<input type="submit" name="submit" value="Submit" />';
                              ^----- YOU FORGOT THIS

答案 1 :(得分: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