Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   errores cuando pasas de PHP4 a PHP5 (https://www.clubdelphi.com/foros/showthread.php?t=48602)

richy08 28-09-2007 18:19:26

errores cuando pasas de PHP4 a PHP5
 
bueno tengo una pregunta estoy corriendo el mismo codigo con el interpretede php4 y php5 cuando lo ejecuto con el 5 corre de maravilla pero al correrlo con el 4 me da el siguiente error

Código PHP:

File 'c:\mysql\share\charsets\?.conf' not found (Errcode2Character set '#48' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file 

al parecer es un Bugs que tien el PHP4 y Mysql alguien sabe como resolverlo

:confused:

poliburro 28-09-2007 18:50:27

Podrías incluir el código en cuestión?.

richy08 28-09-2007 18:53:44

Cita:

Empezado por poliburro (Mensaje 234792)
Podrías incluir el código en cuestión?.


claro que si este es el codigo

Código PHP:

<html>
<body>
<?php
 
if (!($_POST["Buscar"]))
 {
   echo 
"<p>Debe especificar una cadena a buscar</p> \n";
   echo 
"<p><a href=buscar.php>Volver</p> \n";
   echo 
"</html></body> \n";
   exit;
 }
    
$link mysql_connect("localhost""root""");
    
mysql_select_db("agenda");
    
$sql "SELECT * FROM users WHERE snombre LIKE '%$_POST[Buscar]%' ORDER BY snombre";
    
$result mysql_query($sql$link);

 if (
$row mysql_fetch_array($result))
 {
  echo 
"<table border = '1'> \n";
  
//Mostramos los nombres de las tablas
  
mysql_field_seek($result,0);
  while (
$field mysql_fetch_field($result))
  {
    echo 
"<td><b>$field->name</b></td> \n";
  }
    echo 
"</tr> \n";
  do
  {
   echo 
"<tr> \n";
   echo 
"<td>".$row["auser"]."</td> \n";
   echo 
"<td>".$row["snombre"]."</td> \n";
   echo 
"<td>".$row["sdir"]."</td> \n";
   echo 
"<td>".$row["stel"]."</td> \n";
   echo 
"</tr> \n";
   }while (
$row mysql_fetch_array($result));
   echo 
"<td><a href='mailto:".$row[""]."'>".$row[""]."</a></td> \n";
   echo 
"<p><a href=buscar.php>Volver</p> \n";
   echo 
"</table> \n";
 }
 else
 {
  echo 
"<p>¡No se ha encontrado ningún registro!</p>\n";
  echo 
"<p><a href=buscar.php>Volver</p> \n";
 }
?>
</body>
</html>

[HTML]
<html>
<body>
<form method = "POST" action = "buscador.php">
<strong>Palabra clave:</strong>
<input type="text" name="Buscar" size="20"><br><br>
<input type="submit" value="Buscar">
</form>
</body>
</html>
[/HTML]

xanxov 29-09-2007 17:51:47

Creo que el problema lo tienes aquí:
echo "<td><b>$field->name</b></td> \n";

A partir de MySQL 4.1.0. para acceder a la base de datos aparece la extensión mysqli que proporciona funciones y objetos para acceder a la misma, la anterior mysql proporcionaba funciones para las versiones anteriores.
mysqli proporciona la clase mysqly para establecer la conexión y mysqli_result para trabajar con la información.p.e.
<?php
$conexion = new mysqli("servidor","usuario","contraseña","basedatos");
$resultado = $conexion->query("SELECT * FROM clientes");

Bien pues está nueva forma de manejar la conexión y las datos no es soportada por PHP4.
Espero haberte ayudado.
Saludos

richy08 01-10-2007 16:25:35

Cita:

Empezado por xanxov (Mensaje 234992)
Creo que el problema lo tienes aquí:
echo "<td><b>$field->name</b></td> \n";

A partir de MySQL 4.1.0. para acceder a la base de datos aparece la extensión mysqli que proporciona funciones y objetos para acceder a la misma, la anterior mysql proporcionaba funciones para las versiones anteriores.
mysqli proporciona la clase mysqly para establecer la conexión y mysqli_result para trabajar con la información.p.e.
<?php
$conexion = new mysqli("servidor","usuario","contraseña","basedatos");
$resultado = $conexion->query("SELECT * FROM clientes");

Bien pues está nueva forma de manejar la conexión y las datos no es soportada por PHP4.
Espero haberte ayudado.
Saludos

Hola XanXoc cambie lo que sugieres y ahora me marca
Fatal error: Cannot instantiate non-existent class: mysqli in C:\Documents and Settings\Rarellano\Desktop\Codigo de PHP\buscador.php on line 13:confused:

xanxov 01-10-2007 17:04:45

Php4 - php5
 
Cita:

Creo que el problema lo tienes aquí:
echo "<td><b>$field->name</b></td> \n";

¿ Como lo cambiaste ?.

Tengo la impresión que no es eso lo que hiciste, el mensaje debe ser por que no tienes habilitada la extensión mysqli en MySQL. Para habilitarla tienes que ir a:
php.ini y poner una linea como esta extension=php_mysqli.dll, si usas phpMyAdmin $cfg[Servers][$i]['extension'] ='mysqli?;
Saludos.:)

richy08 01-10-2007 17:50:32

Cita:

Empezado por xanxov (Mensaje 235278)
¿ Como lo cambiaste ?.

Tengo la impresión que no es eso lo que hiciste, el mensaje debe ser por que no tienes habilitada la extensión mysqli en MySQL. Para habilitarla tienes que ir a:
php.ini y poner una linea como esta extension=php_mysqli.dll, si usas phpMyAdmin $cfg[Servers][$i]['extension'] ='mysqli?;
Saludos.:)

nop ya verifique mi archivo y la linea ya esta descomentada:confused:

richy08 01-10-2007 17:56:58

Cita:

Empezado por richy08 (Mensaje 235296)
nop ya verifique mi archivo y la linea ya esta descomentada:confused:

rectifico, como brinco de una version a otra solo verifique el archivo de php 5, al verificar el de php 4 la linea no existe se la agrego y me lanza el siguiente error

PHP Warning: Unknown(): Unable to load dynamic library 'C:\Program Files\xampp\php\extensions\php_mysqli.dll' - The specified module could not be found. in Unknown on line 0

xanxov 01-10-2007 19:23:55

Cita:

rectifico, como brinco de una version a otra solo verifique el archivo de php 5, al verificar el de php 4 la linea no existe se la agrego y me lanza el siguiente error

PHP Warning: Unknown(): Unable to load dynamic library 'C:\Program Files\xampp\php\extensions\php_mysqli.dll' - The specified module could not be found. in Unknown on line 0
¿ Te refieres al archivo php.ini ?
No puedes, las modificaciones eran para PHP5 entendí que también te daba error, Php 4 no puede acceder a las clase mysqli, pero tu ejemplo debería funcionar en PHP4 también o dar otro error distinto,si deshabilitas las dos líneas que te indiqué. ¿ No es así ?.

Saudos.:)


La franja horaria es GMT +2. Ahora son las 03:24:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi