PDOを使用してテーブルに行を挿入しています。新しい行のIDが必要なので、新しいページにリダイレクトできます行。致命的なエラー:PDO for MySQLを使用したPHPの非静的メソッド
私は
$id = PDO::lastInsertId();
を使用する場合、私は
Fatal error: Non-static method PDO::lastInsertId() cannot be called statically in C:\xampp\htdocs\createimage.php on line 16
を取得するには、ここでエラーになり、PHPの:
<?php
$title = $_POST['title'];
$caption = $_POST['caption'];
$conn = new PDO('mysql:host=localhost;dbname=imagesite', 'root', '');
$stmt = $conn->prepare('INSERT INTO images (id,link,title,caption) VALUES (NULL,:link,:title,:caption)');
$stmt->execute(array(
'link' => 'fake',
'title' => $title,
'caption' => $caption
));
$id = PDO::lastInsertId();
header("Location: localhost/image?id=$id");
誰もが間違って何が起こっているのか教えてください。または私がやりたいと思っていることを達成する別の方法?
それは、開始、コミットやロールバックメソッドが呼び出される?どこから関数スコープの制限を持っていませんかDBオブジェクトのインスタンスを持つコントローラからこの関数を呼び出すと、動作しません。 – NullPointer