Что лучше: mysql или mysqli или pdo (а также mysqli_real_escape_string или mysqli_prepare)?
Исходя из обширного опыта использования PDO - 3 вариант лучше. Потому что:
1. PDO работает с разными базами данных. В случае необходимости легко будет переключиться с mysql, например, на postgres.
2. Используя PDO вы забываете о SQL-инъекциях (по крайней мере 1-уровня).
3. Поверх PDO можно использовать ActiveRecord или DAO, что значительно сокращает время разработки конечного продукта.
Есть и другие достоинства, но эти, как мне кажется, наиболее весомы.
mysqli_prepare+mysqli_stmt_bind_param+mysqli_stmt_execute
А для запросов без параметров лучше использовать mysqli_query.