Перейдите на mysqli, я рекомендую объектно-ориентированный синтаксис, потому что с ним лучше работать.
В соответствии с рекомендацией "свести к минимуму количество обращений к базе данных", я сведу ваши тризапрашивает в едином объединенном вызове SELECT, а затем проверяет результат, отличный от 0.
Мое непроверенное предложение с использованием объектно-ориентированного синтаксиса mysqli (я проверял запрос SELECT в PHPMyAdmin):
$query = "SELECT SUM(tally)
FROM (
SELECT COUNT(*) AS tally
FROM pending_media
WHERE mediaid = ?
UNION ALL
SELECT COUNT(*)
FROM media
WHERE mediaid = ? OR (date = ? AND uplink = ?)
) t";
if (!$conn = new mysqli("localhost", "root","","dbname")) {
echo "Database Connection Error" // $conn->connect_error
} elseif (!$stmt = $conn->prepare($query)) {
echo "Prepare (Select) Syntax Error"; // $conn->error
} elseif (!$stmt->bind_param("ssss", $dielz, $dielz, $date, $nam) || !$stmt->execute() || !$stmt->bind_result($tally) || !$stmt->fetch()) {
echo "Select Statement Error"; // $stmt->error
} elseif (!$tally) {
$stmt->close();
// insert qualifying data
if (!$stmt = $conn->prepare("INSERT INTO pending_media VALUES ('',?,?)")) {
echo "Prepare (Insert) Syntax Error"; // $conn->error; // don't show exact error publicly
} elseif (!$stmt->bind_param("ss", $nam, $dielz) || !$stmt->execute()) {
echo "Insert Query Error"; // $stmt->error;
}else{
echo "Success";
}
}