使用$ _POST插入带有PDO准备语句的MySQL数据库

时间:2016-10-20 02:11:01

标签: php mysql pdo

我在空闲时间做了一个Pastebin-esque项目,最近才发现我需要有一个标题。我使用PDO,我几乎不得不重做已插入的整个php脚本,现在我无法弄清楚是什么错。这是HTML开头的主体,paste.html:

<form action="insert.php" method="post">
    Title: <input type="text" name="title">
    <br>
    Paste: <br> <input type="text" name="paste">
    <input type="submit" value="insert">
</form>

这是我的insert.php:

require 'connection.php';

$paste = $_POST['paste'];
$title = $_POST['title'];
$sql = "INSERT INTO pasteinfo (title, paste) VALUES (:title, :paste)";
$stmt = $con->prepare($sql);
$stmt->bindParam(':paste', $paste);
$stmt->bindParam(':title', $title);
$stmt->execute();
$con = null;

我真的不知道这里有什么问题。谢谢!

编辑:connection.php看起来像这样:

try {
    $con = new pdo("mysql:host='';dbname='pastes'",'','','pasteinfo');
    echo "connected successfully";
} catch (PDOException $e) { 
    echo "Connection failed: " . $e->getMessage();
}

1 个答案:

答案 0 :(得分:1)

尝试做类似的事情:

$stmt->bindParam(':paste', $paste, PDO::PARAM_STR, 12);
$stmt->bindParam(':title', $title, PDO::PARAM_STR, 12);

第三个参数是数据类型,第四个是长度。