Prova detta:
$conn = new PDO('mysql:host=localhost;dbname=dbname', 'root', 'password');
function stream($IdPhoto=0) {
global $conn;
if ($IdPhoto==0) {
// load the last 300 photos
$stmt = $conn->prepare("SELECT IdPhoto, device_token, IdUser FROM photos ORDER BY IdPhoto DESC LIMIT 300 ");
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
} else {
//This is the statement i need to call explicitly via PDO
//do the same as above, but just for the photo with the given id
$stmt = $conn->prepare("SELECT p.IdPhoto, p.device_token, p.IdUser FROM photos p JOIN login l ON (l.IdUser = p.IdUser) WHERE p.IdPhoto= :idphoto ");
$stmt->execute([':idphoto' => $IdPhoto]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
}
if (!$stmt->errorInfo()[0]) {
// if no error occured, print out the JSON data of the
// fetched photo data
print json_encode($result);
} else {
//there was an error, print out to the iPhone app
errorJson('Photo stream is broken');
}
}