Un array en php pdo y htaccess, da error de variable indefinida.

Hola, tengo un problema, el tema es el siguiente, intento aprender WebServices y tengo un ejercicio en el que estoy teniendo problemas con pdo, lo he hecho con mysql y así funciona pero con pdo no.
Quiero que funcione en pdo por que intento mejorar mi conocimiento en pdo también, y tengo habilitado el pdo en mi php xampp, de hecho no es mi primer proyecto en pdo
En el htaccess tengo esto

Options +FollowSymLinks -MultiViewsRewriteEngine OnRewriteRule ^([^/]+)/([^/]+) conexionbasededatosrest.php?peticion=$1&detalle=$2 [L,QSA]


Y en el archivo conexionbasededatosrest.php tengo esto

function muestraEspaniol($detalle){        $conexionpdo = new PDO('mysql:localhost;dbname=video2brain', 'root', '');                if($detalle == 'lista')                    {                        $sql = "select espanol from traductor";                    }                    else                    {                            $sql = "select espanol from traductor where id=".$detalle;                    }               $smtm=$conexionpdo->prepare($sql);               $smtm->execute(array($_GET["detalle"]));               while ($reg = $smtm->fetch())                   {                           $registros[]=$reg;                   }                   return $registros;}if($_GET["peticion"]=='ingles'){    $resultados = muestraIngles($_GET["detalle"]);}elseif($_GET["peticion"]=='espanol'){    $resultados = muestraEspaniol($_GET["detalle"]);}echo json_encode($resultados);


La idea es simple, tengo una base de datos con dos campos, ingles y español, el campo ingles con palabras en ingles y el campo español para palabras en español
Luego tengo esta ruta
http://localhost/pruebas/video2brain/WebServices/ConexionBaseDeDatosREST/
Simplemente quiero que al añadir a esa ruta una la palabra ingles o la palabra español, y posteriormente la palabra lista o simplemente un numero, me muestre una sentencia sql u otra, es decir
http://localhost/pruebas/video2brain/WebServices/ConexionBaseDeDatosREST/ingles/lista
Muestra el total
http://localhost/pruebas/video2brain/WebServices/ConexionBaseDeDatosREST/ingles/2
Muestra los resultados donde el id sea el 2 para añadir variables a la barra de direccion uso el archivo htacess
RewriteRule ^([^/]+)/([^/]+) conexionbasededatosrest.php?peticion=$1&detalle=$2 [L,QSA]
Concretamente en este caso peticiono seria, ingles, y detalle seria o lista o un numero como el 2;
Todo va bien, salvo que siempre haga lo que haga me da error en el return $registros me dice que esta indefinido
cuando rrecorro el array en mysql exactamente igual y me funciona

function muestraEspaniol($detalle){   if($detalle == 'lista')                    {                        $sql = "select espanol from traductor";                    }                    else                    {                            $sql = "select espanol from traductor where id=".$detalle;                    }                     $consulta = mysql_query($sql);                     while ($reg = mysql_fetch_array($consulta))                    {                            $registros[]=$reg;                     }                    return $registros;}

¿Que puede estar fallandome?

Añade tu respuesta

Haz clic para o