hard to tell where the error is without access to your database, but this could help lead to the solution:
in the error part of your SQL handler, add
echo "$sql"; // or whatever var you're using for your query.
This will print the query being sent to the database with the actual values plugged in so you can view it.
I've found that those error "near id=1" errors typically refer to a problem BEFORE the id=1 clause.
My guess is you have some weirdness in your value for $picture -- for example, a stray single quote.
Printing out the actual value of $sql will help figure this out.
PS In fact, could I recommend using a query-handler function?
function dosql($query) {
$result = mysql_query($query);
if($result) { echo("<p>Your data has been added.</p>");
}else{
echo("<p>Error adding submitted data: ".mysql_error()."<BR>$query");}
return $result;}
then use this for all your queries:
$result =dosql('SELECT * FROM mytable'); //etc.