me interpreta bien php pero no me presenta los registros (mySql)

Santiago Esparza
11 de Marzo del 2005
Gracias, envio el código en php y los resultados que me presenta. Estoy utilizando FC3.

<html>
<head>
<title>Consulta de Base de datos mysql</title>
</head>
<body>
<h1>Resultados de la consulta</h1>
<?



echo "la fecha actual es: ";
echo "><br />";
echo date ("H:i, jS F Y");
echo "<br>";
echo "Hola mundo cruel <br>";

$dbcon=mysql_connect("localhost","root")
or exit("<p><font color=red>No puedo conectarme a la BD</font></p>");
mysql_select_db("clases");
$sql="SELECT * FROM alumnos ORDER BY nombre";
$result = mysql_query($sql);
$nrows = mysql_num_rows($result);
echo $nrows,"<br>";
if($nrows != 0)
{
// print "<p>Data for " . $place;
print "<table border=2><tr><th>matricula<th>nombren";
for($j=0;$j<$nrows;$j++)
{
$row = mysql_fetch_array($result);
print "<tr><td>" . $row["matricula"];
print "<td>" . $row["nombre"];
print "n";
}
print "</table>n";
}
else print "<p>No Entry for " . $place;
mysql_close($dbcon);
?>
</p>
</body>
</html>

Esto me presenta con # php <ejemplo.php

Content-type: text/html
X-Powered-By: PHP/4.3.10

<html>
<head>
<title>Consulta de Base de datos mysql</title>
</head>
<body>
<h1>Resultados de la consulta</h1>
la fecha actual es: ><br />10:06, 10th March 2005<br>Hola mundo cruel <br>10<br><table border=2><tr><th>matricula<th>nombre
<tr><td>20002001<td>BARRON BASURTO ISRAEL
<tr><td>20002004<td>BARRON BASURTO ISRAEL
<tr><td>24502649<td>DE LUNA FREGOSO FRANCISCO
<tr><td>98201334<td>GONZALEZ ACU&#65533;A LILIANA AIDE
<tr><td>24502707<td>HERNANDEZ RANGEL MARIO
<tr><td>24502981<td>HERNANDEZ RANGEL MARIO
<tr><td>98201208<td>PI&#65533;ON REYES SAUL
<tr><td>20003003<td>SALAZAR OROZCO CRISTINA
<tr><td>20002003<td>SANCHEZ SARMIENTO LAURA ARELY
<tr><td>21206183<td>VELAZQUEZ ROSALES JULIO CESAR
</table>
</p>
</body>
</html>

Y el Navegador solo presenta lo siguiente :

Resultados de la consulta
la fecha actual es: >
10:00, 10th March 2005
Hola mundo cruel


y no me presenta los registros de la Base de Datos


De antemano por su ayuda Gracias.

eth0
11 de Marzo del 2005
Podemos probar algunas cosas, vamos a ver:

1. Es posible que al ejecutar el script en Apache haya un error al conectar, y por eso no llegue a mostrar los registros. Asegúrate de que en el php.ini (si usas Fedora Core 3 como dices creo que está en /etc/php.ini) la opción show_errors está activada, y que la opción error_reporting es E_ALL.

2. Para estar más seguro de que el script termina si hay un error al conectar con la base de datos, yo usaría die() en lugar de exit(). La función exit() en algunas ocasiones no finaliza el script, die() sí.

3. La función mysql_select_db() también puede fallar, y en ese caso sería bueno añadirle también un "or die(...)"..

4. A veces lo que yo suelo hacer es poner algunos echos entre instrucciones para ver hasta dónde llega el script. Eso te ayudará un montón a encontrar exactamente en qué línea se queda. En tu caso, la última línea que se muestra es ese "Hola mundo cruel", así que ya sabes que el error está en esas cinco líneas que hay entre medias.

También deberías tener en cuenta en lo sucesivo que los scripts PHP no se ejecutan igual desde la shell que desde Apache.

Bueno, prueba a ver qué tal. ^_^