Ayuda para actualizar codigo luego de actualizar version 5.1 a 5.3.24 de PHP

  • Autor Autor danibykov
  • Fecha de inicio Fecha de inicio
D

danibykov

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buen dia, estoy teniendo problemas con mi sitio web debido a una actualizacion de la version del PHP en el servidor. Mi servidor lo tengo montado sobre Windows Server 2003 y lo utilizo con IIS. En el mismo servidor tengo otros sitios web hospedados, las bases de datos las tengo en otro servidor y el motor de las BD es un SQL Server 2008. Anteriormente utilizaba las funciones odbc_connect, odbc_fetch_array y demas, pero desde la actualizacion del PHP las mismas dejaron de funcionar.
El código que estoy tratando de actualizar es el sigte. Estoy queriendo utilizar las funciones de PDO
<?php
function banner_inicio (){
global $con;

//odbc_exec( $con, "SET NAMES utf8");
exec($con);
$con->exec("set names utf8");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$datos = PDO::query( $con, "SELECT * FROM up_imagenes where img_relacion_tabla='banners' ORDER BY img_orden ASC");


//while ($img=odbc_fetch_array($datos)){
while ($img=fetchAll($datos)){
$return.='
<div class="slide">';
if ($img['img_url']!='') { $return.='<a href="'.$img['img_url'].'">'; }
$return.='<img src="uploads/imgs/banners/1/original/'.$img['img_nombre'].'" width="900px" height="314" border="0"/>';
if ($img['img_url']!='') { $return.='</a>'; }
$return.='</div>';
}
return $return;
}
?>

Lo que esta en rojo es lo que yo agregue, pero no esta correcto, aunque no tira ningun error tampoco al cargar. La conexion si ya la probe y funciona.
$con = new PDO($dsn, 'desarrollador', 'desarrollador');

Les agradeceria si alguien me puede dar una mano con esto, la pagina lo que hace es cargar la informacion de mis productos que se encuentran habilitados en la bd en el sitio web.
 
Bueno lo primero que veo es esto:
$con = new PDO($dsn, 'desarrollador', 'desarrollador');

$con = new PDO($dns, 'desarrollador', 'desarrollador');

no se si ha sido solo error de escribirlo aqui o si lo tienes como dsn tambien pero si te referias a dns pueda ser eso.

Un saludo, a veces los errores mas tontos son los mas dificiles de pillar. jeje
 
Gracias por la respuesta, $dsn = 'sqlsrv:Server=petersensql;Database=zonextud_petersen'; eso contiene la informacion de mi servidor sql.
 
Yo lo que te recomiendo es que leas el change log de las versiones para que puedas adaptar el código.

Por lo demás esta instalado PDO ?
 
Si, tengo el php_pdo_sqlsrv.dll, php_pdo_sqlsrv_53_nts_vc9.dll, php_pdo_odbc.dll todos agregados como extension en el php.ini
Y como comente la conexion con la bd se realiza correctamente, ya tengo una de las paginas funcionando normalmente luego de haber actualizado las funciones de la misma y en ella tengo un select ejecutado en esa bd.
Mi problema es con este codigo y otro similar que estiran los valores de mi bd y los van agregando a mi pagina dependiendo si estan habilitados o no en la bd.