Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2010, 03:41
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Problema PDO bind

Buenas,

Tengo problemas al insertar correctamente en la base de datos con la clase PDO, me guarda los valores con una codificación incorrecta. A pesar que tengo definida la tabla como UTF-8

FFC Wacker München - 1. FFC Frankfurt II
Bayer Leverkusen - TuS Wörrstadt
'FCR 2001 Duisburgo II - FC Köln

Antes de utilizar esta clase lo solucionaba con mysql_real_escape_string()

Y estaba leyendo que con PDO no hacía falta utilizar mysql_real_escape_string() y en que en su defecto bastaba con utilizar bindParam


Código PHP:
Ver original
  1. $inserta_en_tbl_cuotas = $db->prepare("INSERT INTO $tbl_cuotas (idcompeticion,idevento,:evento,fecha,idmercado,idtipomercado,mercado,idpronostico,pronostico,cuota)
  2.                                                             VALUES (?,?,?,?,?,?,?,?,?,?)");
  3.                     $inserta_en_tbl_cuotas->bindParam(':evento', $evento);
  4.                     $inserta_en_tbl_cuotas->execute(array($IDcompeticion,$IDevento,$evento,$fecha,$IDmercado,$IDtipomercado,$mercado,$IDpronostico,$pronostico,$cuota));

Tengo que pasar todos los parámetros por bindParam? yo creo que las dos últimas lineas se están solapando...

Código:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters' in C:\AppServ\www\00-laboratorio_test\secciones\GET_BET\V2_SIMPLEXML.php:69 Stack trace: #0 C:\AppServ\www\00-laboratorio_test\secciones\GET_BET\V2_SIMPLEXML.php(69): PDOStatement->execute(Array) #1 {main} thrown in C:\AppServ\www\00-laboratorio_test\secciones\GET_BET\V2_SIMPLEXML.php  on line 69
¿Podéis echarme una mano?

Muchas gracias de antemano!