too long

This question already has an answer here:

I want to get the id of a table and make it a variable so I can use it in a link.

But I am getting Notice: Array to string conversion in .

$getpID = "SELECT id from posts";
$res = mysqli_query($conn, $getpID) or die(mysqli_error()); 
$pid = mysqli_fetch_assoc($res);

<a id='del' href='deletepost.php?del=$pid'>Delete</a>

This is just a part of the code where I have problems.

</div>

You need to do like this:-

<?php
$getpID = "SELECT id from posts";
$res = mysqli_query($conn, $getpID) or die(mysqli_error($conn)); 
while($pid = mysqli_fetch_assoc($res)){
echo "<a id='del' href='deletepost.php?del=$pid['id']'>Delete</a><br/>"; 
}

Note:- this is because $res is an result-set array object having 1 or more than value. So you need to iterate like this.

$pid is an array, you need to access the ID from the array then you can use it in the link. Example:

$id = $pid['id'];

<a id="del" href="deletepost.php?del=$id">Delete</a>