I'm inserting, using PDO, a row into the table, and I need the id of the new row so I can redirect to the new page based off that row.
When I use
$id = PDO::lastInsertId();
I get
Fatal error: Non-static method PDO::lastInsertId() cannot be called statically in C:\xampp\htdocs\createimage.php on line 16
Here's the php that results in an error:
<?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");
Can anyone tell what's going wrong? Or another way to achieve that I'm looking to do?
You're looking for:
$conn->lastInsertId()
In the PHP documentation, they show you PDO::lastInsertId() but that's to understand this method is within the PDO class. But you need to call it using your object.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With