La siguiente función era utilizada para validar los datos en una aplicación web -es una versión modificada del método que trae ezSQL

function escape($text) {
        return mysql_real_escape_string(stripslashes(strip_tags($text)), $this->connection);
}

Se usaba de la siguiente manera:

 // agregar.php
<?php

if (!empty($_POST['url']) && !empty($_POST['title'])) {
	$sql = "INSERT IGNORE INTO links (url, title) VALUES ('%s', '%s')"; // ignorar los links repetidos
	$db->query(sprintf($sql, $db->escape($_POST['url']), $db->escape($_POST['title'])));
}

?>
 // listar.php
<html>

<head>
	<title>Demo</title>
</head>

<body>

<?php $links = $db->get_results('SELECT url, title FROM links'); ?>

<ul>
<?php foreach ($links as $link) : ?>
	<li><a href="<?php echo $db->escape($link->url); ?>">
		<?php echo $db->escape($link->title); ?></a></li>		
<?php endforeach; ?>
</ul>

</body>

</html>

¿Pueden identificar donde está el error?

Nota: la respuesta al quiz sobre validación de datos, todavía queda pendiente a pedido de Victor.