可恢复的致命错误:PDOStatement类的对象无法转换为字符串

时间:2017-05-20 14:31:21

标签: php pdo

我正在尝试使用PHP将数据发送到数据库但是当我使用execute()执行查询时,我收到错误消息

  

可恢复的致命错误:无法将类PDOStatement的对象转换为第12行的C:\ xampp \ htdocs \ Code Sharing Website \ submit_snippet.php中的字符串

这是我的代码

include 'includes/db.php';

if(isset($_POST['title']) && isset($_POST['snippet'])) {
  $title = $_POST['title'];
  $snippet = $_POST['snippet'];

  $snippet = $db->prepare("INSERT INTO all_snippets (snippet_name, snippet_body) VALUES (:title, :snippet)");
  $snippet->execute(array(
    ':title' => $title,
    ':snippet' => $snippet
  ));
} else {
  echo "Error: Please fill out all fields";
}

1 个答案:

答案 0 :(得分:1)

您正在将snippet变量重新分配给PDO对象,然后尝试在execute中使用该变量。其中一个变量需要重命名。

$snippet = $_POST['snippet'];更改为$snippetPost = $_POST['snippet'];,将execute更改为此应修复此问题。

  $snippet->execute(array(
    ':title' => $title,
    ':snippet' => $snippetPost
  ));