Wstawiam, używając PDO, wiersz do tabeli, i potrzebuję identyfikatora nowego wiersza, aby móc przekierować na nową stronę opartą na tym rząd.Błąd krytyczny: metoda niestatyczna w PHP używająca PDO dla MySQL
Gdy używam
$id = PDO::lastInsertId();
uzyskać
Fatal error: Non-static method PDO::lastInsertId() cannot be called statically in C:\xampp\htdocs\createimage.php on line 16
Oto php, który powoduje błąd:
<?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");
Może ktoś powiedzieć, co się dzieje źle? Lub inny sposób osiągnięcia tego, co zamierzam zrobić?
Czy to ma ograniczenie zakresu funkcji, z którego rozpocznie się, popełnić i metody wycofania się nazywa? Ponieważ kiedy wywołuję tę funkcję z kontrolera z instancją obiektu DB, to nie działa. – NullPointer