En esos casos tenes que saber que valor tiene $prubea, en este es un objeto y siempre va a ser valido.
fetchColumn()
http://es.php.net/manual/en/pdostatement.fetchcolumn.php
Código (php) [Seleccionar]
$usuario = $_POST['user'];
try {
$con = new PDO('mysql:host=localhost;dbname=pruebas', "root", "XXXXXXXXXX");
$prueba = $con->query("SELECT * from pruebas WHERE USER = '$usuario'")->fetchColumn(); // Solo necesitas saber si existe o no, fetchColumn retornara algo si exite en caso contrario no
if ($prueba){ // Con eso es suficiente
echo "El nombre de usuario ya existe.";
}else{
$con->query("INSERT INTO pruebas (ID,USER) VALUES ('','$usuario')");
echo "Cuenta creada";
$gbd = null;
}
} catch (PDOException $e) { // Si utilizar try debes utilizar catch en este caso se usa para saber si realizo la conexion a la base de datos
echo 'No se pudo conectar: ' . $e->getMessage();
}
// Más código bla bla bla.
fetchColumn()
http://es.php.net/manual/en/pdostatement.fetchcolumn.php