mi primer error (bueno dos)

Comienzo mi aprendizaje de php y comienzan las dudas claro.

Pasos que he hecho hasta ahora

Instalar wamserver 2.0
Creo una base de datos llamada inmobiliaria con el PHPmyadmin
Crear un archivo y gabaralo en c:wamp/www

<body>
<h1>Reporte de Ciudades</h1>
<table border="1">
<tr>
<td>ID Ciudad</td>
<td>Nombre</td>
</tr>

<?php
$conexion = mysql_connect('localhost', 'root', '');
mysql_select_db('inmobiliaria');
$tabla = mysql_query('SELECT * FROM ciudades');
while ($registro = mysql_fetch_array($tabla)) {
?>

<tr>
<td><?php echo $registro[‘id’]; ?></td>
<td><?php echo $registro[‘nombre’]; ?></td>
</tr>



<?php
}
mysql_free_result($tabla);
mysql_close($conexion);
?>

</table>


</body>


Me da los siguientes errores

Notice: Use of undefined constant ‘id’ - assumed '‘id’' in C:\wamp\www\curso\listadociudades1.php on line 24

Notice: Undefined index: ‘id’ in C:\wamp\www\curso\listadociudades1.php on line 24

Y ya no se seguir

Alguna ayuda

Gracias
www.camposyestadios.es
El codigo esta bien pero normalmente en XAMP no funcionana las cosas; asi que prueba a subirlo a un servidor (gratuito o de pago) y veras como todo se soluciona!!
No hay error alguno, de ningún tipo, es más, el servidor (WAMP) en ningún momento te está tirando ningún error, solo te está advirtiendo que no has definido la constante 'id'. Si intentas probar tu script verás que funciona tanto en el XAMPP, LAMPP, WAMPP (no sé si todos llevan doble P) como en un servidor comercial. Te dejo aquí una publicación relacionada con el tipo de "error" que te tira.

Por otro lado, si deseas que desaparezcan esos errores de tu pantalla prueba con:
<?=$registro['id'];?>
<?=$registro['nombre'];?>

o encapsula ({ }) los strings para sacar los datos de la BBDD:
<?
echo="{$registro['id']} {$registro['nombre']}"
?>

O puedes probar también, diciéndole a tu PHP que omita dichas variables-strings (@):
<? echo @$registro['id'];?>
<? echo @$registro['nombre'];?>

Pero te haya servido de información a la vez que de formación :)
Pienso, comparto, aprendo, luego creo
Imagino que habras puesto un campo "id" en tu "tabla", y como la llamas en minusculas, será asi como lo haz puesto en phpMyAdmin ¿no?
Lo mejor de caerse al tropezar, es volverse a levantar.
gjulian escribió:Imagino que habras puesto un campo "id" en tu "tabla", y como la llamas en minusculas, será asi como lo haz puesto en phpMyAdmin ¿no?

De tratarse de un error de ese tipo, no le devolvería un mensaje NOTICE sino un error de mysql_fetch_array() que esperaba un boleano y no se le entrega nada.
Pienso, comparto, aprendo, luego creo
Pero es que no tiene mucho misterio, es 2 + 2 en PHP, yo sigo pensando que si falla es xk no lo ejecuta en el servidor
victor5atodogas escribió:Pero es que no tiene mucho misterio, es 2 + 2 en PHP, yo sigo pensando que si falla es xk no lo ejecuta en el servidor

En realidad el script sí se le ejecuta, solo que le saltan esos dos NOTICE que no significan nada. En un servidor el cual tiene como opción mostrar tod@s los errores, saltarán las notice por todo lado cuando no declaras nada, es el caso de:

<?
if($_GET['opcion'] == 'valor'){
}
?>

En un servidor con la opción de mostrar todos los errores, me diría que la variable opción no está definida. Lógico, esta variable solo está definida cuando se obtiene un valor, pero eso no quiere decir que el script o la sintaxis estén mal.
Pienso, comparto, aprendo, luego creo
Bueno, por algo estamos en el foro CCTW :)
Pienso, comparto, aprendo, luego creo