【发布时间】:2014-06-06 21:53:45
【问题描述】:
我正在尝试将其转换为 PDO:
echo 'sup 1';
$sql = "INSERT INTO blogData(
title,
content,
category)
VALUES (
:title,
:content,
:category)";
echo 'sup 2';
$stmt = prepare($sql);
echo 'sup 3';
$stmt->bindParam(':title', $_POST['title'], PDO::PARAM_STR);
$stmt->bindParam(':content', $_POST['content'], PDO::PARAM_STR);
$stmt->bindParam(':category', 'City Secrets', PDO::PARAM_STR);
echo 'sup 4';
$stmt->execute();
echo 'sup 5';
header('location: http://www.backToThePageIPostedOn.com');
这是我当前的代码,但它没有进入数据库:
$sql = "INSERT INTO blogData(
title,
content,
category)
VALUES (
:title,
:content,
:category)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':title', $_POST['title'], PDO::PARAM_STR);
$stmt->bindParam(':content', $_POST['content'], PDO::PARAM_STR);
$stmt->bindParam(':category', 'City Secrets', PDO::PARAM_STR);
$stmt->execute();
header('location: http://www.backToThePageIPostedOn.com');
它在脚本页面上停止。这是我第一次使用 PDO,所以如果有人能指出我语法中的错误,我将不胜感激。
我的代码没有通过echo 'sup 2';
所以我相信错误就在这一行,$stmt = $pdo->prepare($sql);
我按照教程执行此操作,但我不明白他们为什么要添加
$pdo 在。
我假设那应该是我的连接,但我将其设置为
$con
当我改变
$pdo 到 $con 我仍然在 echo 'sup 2' 处被截断;
【问题讨论】:
-
这个
$stmt->bindParam(':category', 'City Secrets', PDO::PARAM_STR);应该很可能需要是$stmt->bindValue(':category', 'City Secrets', PDO::PARAM_STR); -
不,没有帮助的先生。错误在这一行,$stmt = $pdo->prepare($sql);它必须是 $pdo 但我遵循了一个教程,但我不确定应该是什么
-
那么您需要向我们展示您的 PDO 连接是什么,将凭据替换为
xxx -
启用错误报告和/或检查错误日志以提供实际发生的错误。
-
AHHH 已修复。这是3个问题。感谢您的帮助!回答,这样我就可以给你信任。
标签: php mysql pdo sql-insert