Foros del Web » Programando para Internet » PHP »

Base Datos

Estas en el tema de Base Datos en el foro de PHP en Foros del Web. Buenos Creando Una Base De Datos Me Salta este error Código: Parse error: syntax error, unexpected T_STRING in D:\AppServ\www\mysql.php on line 16 Linea Código: CREATE ...
  #1 (permalink)  
Antiguo 25/05/2010, 20:50
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Base Datos

Buenos Creando Una Base De Datos Me Salta este error
Código:
Parse error: syntax error, unexpected T_STRING in D:\AppServ\www\mysql.php  on line 16
Linea
Código:
CREATE DATABASE "principal";]
No Tengo Mucha Idea De Cual Seria el Error Si Me Pudieran Ayudar gracias .
  #2 (permalink)  
Antiguo 25/05/2010, 21:17
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años
Puntos: 14
Respuesta: Base Datos

CREATE DATABASE "principal";]
Aquel símbolo en negrilla, ¿lo tienes en tu código? De ser así, ¿qué función cumple? Tal vez es lo único que se me ocurra. Si puedes, muéstranos no sólo la linea 16, sino el código relacionado con la creación de la consulta, por ejemplo el query.
__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #3 (permalink)  
Antiguo 26/05/2010, 04:30
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Este Es Todo el Codigo.
Código PHP:
<?php
$conexion 
mysql_connect("localhost" "root" "");
mysql_select_db("principal",$conexion);
$query "SELECT * FROM comentarios";
$resultado mysql_query($query$conexion)or die(mysql_error());
$total mysq_num_rows($resultado);
?>
<html>
<head>
<meta http-equib="Content-type" contet="text/heml;" />
<title>Tjemeplo De conecion A MYSQL</title>
</head>
<body>
<h1>Resultado</h1>
<?php
CREATE DATABASE 
"principal";
CREATE TABLE "comentarios" (
  `
idINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `
nombreCHAR75 NOT NULL ,
  `
emailCHAR75 NOT NULL ,
  `
comentarioLONGTEXT NOT NULL ,
  `
estadoCHAR20 NOT NULL
)
?>   */
<?php
if($total >)
{
          while(
$fila=mysql_fetch_assoc($resultado))
          {
            echo 
"<strong>".$fila['nombre']."</strong><br />";
            echo 
"Email:".$fila['email']."<br>";
            echo 
"Comentario".$fila['comentario']."<br";
            echo 
"Estado : ".$fila['estado']."<br><br>";
          }
}
?>
</html>
</body>
  #4 (permalink)  
Antiguo 26/05/2010, 05:17
 
Fecha de Ingreso: febrero-2009
Ubicación: Sevilla
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Base Datos

parece que la base de datos y la tabla ya las tienes creadas, deberías borrar las lineas esas de CREATE DATABASE "principal" y CREATE TABLE "comentarios".
  #5 (permalink)  
Antiguo 26/05/2010, 07:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base Datos

Esto:
Cita:
CREATE DATABASE "principal";
CREATE TABLE "comentarios" (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nombre` CHAR( 75 ) NOT NULL ,
`email` CHAR( 75 ) NOT NULL ,
`comentario` LONGTEXT NOT NULL ,
`estado` CHAR( 20 ) NOT NULL
)
No es PHP, sino SQL. Son sentencias SQL que deben ejecutarse en MySQL, en tu caso, y no en un script de PHP.

Tip: Todo mensaje de error que comience con "Parse error: ", es un error de PHP y no de bases de datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 26/05/2010, 08:47
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Entoses como Pongo <SQL> </SQL> ??
  #7 (permalink)  
Antiguo 26/05/2010, 08:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base Datos

No me entendiste...

Son sentencias de SQL.

Tienen que ser enviadas como querys al Mysql... como cualquier otra sentencia de consulta, solamente que en vez de ser sentencias de manipulación de datos (como SELECT...), son sentencias de definición de datos (constructores), las cuales se ejecutan una sola vez para crear la base y la tabla....
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 26/05/2010, 08:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Base Datos

No, necesitas delimitarlo dentro de un string (usando "") y luego enviarlo al servidor usando mysql_query.
  #9 (permalink)  
Antiguo 26/05/2010, 09:15
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Tengo Poca Base Sobre Php y MySQL Soy Muy Nuevo .. disculpen Pero no Logro entender Usaria tipo
$query = ("CREATE BASEDATE * principal);
¿?
  #10 (permalink)  
Antiguo 26/05/2010, 09:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base Datos

Código PHP:
Ver original
  1. $query = "CREATE BASEDATE principal";

Y otro tanto cuando creas la tabla:
Código PHP:
Ver original
  1. $query = "CREATE TABLE comentarios (";
  2. $query .= "   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
  3. $query .= "   `nombre` CHAR( 75 ) NOT NULL ,";
  4. $query .= "   `email` CHAR( 75 ) NOT NULL ,";
  5. $query .= "   `comentario` LONGTEXT NOT NULL ,";
  6. $query .= "   `estado` CHAR( 20 ) NOT NULL)";
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 26/05/2010, 09:37
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Haora me DIse que No Existe Base Datos El Codigo Quedo
Código:
<?php
$conexion = mysql_connect("localhost" , "root" , "");
mysql_select_db("principal",$conexion);
$query = "SELECT * FROM comentarios";
$resultado = mysql_query($query, $conexion)or die(mysql_error());
$total = mysq_num_rows($resultado);
$query = "CREATE BASEDATE principal";
$query = "CREATE TABLE comentarios (";
$query .= "   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
$query .= "   `nombre` CHAR( 75 ) NOT NULL ,";
$query .= "   `email` CHAR( 75 ) NOT NULL ,";
$query .= "   `comentario` LONGTEXT NOT NULL ,";
$query .= "   `estado` CHAR( 20 ) NOT NULL)";
?>
<html>  
  <head>    
    <meta http-equib="Content-type" contet="text/heml;" />    
    <title>Tjemeplo De conecion A MYSQL     
    </title>  
  </head>  
  <body><h1>Resultado</h1>
<?php
  if($total >0 )
  {
            while($fila=mysql_fetch_assoc($resultado))
            {
              echo "<strong>".$fila['nombre']."</strong><br />";
              echo "Email:".$fila['email']."<br>";
              echo "Comentario".$fila['comentario']."<br";
              echo "Estado : ".$fila['estado']."<br><br>";
            }
  }
?>
</html>
</body>
  #12 (permalink)  
Antiguo 26/05/2010, 09:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Base Datos

Lo que pasa es que estas seleccionando (SELECT * FROM comentarios) ANTES de crear la base de datos y la tabla.

Recuerda que en PHP (y en la mayoría de los programas) se ejecutan de arriba a abajo.

Saludos.
  #13 (permalink)  
Antiguo 26/05/2010, 09:54
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Muchas Gracias Cuando Aprenda A A Guardar Datos En Mysql lo Podre usar Mientras Tantos Me Dira que hay Datos Guardados :P.
  #14 (permalink)  
Antiguo 26/05/2010, 11:42
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Buenas Estoy Buscando La Forma De Agregar Textos ....
Puse hasi Pero Sigue Diciendo K La base Datos esta Basia
Código PHP:
$query "CREATE BASEDATE principal";
$query "CREATE TABLE comentarios (";
$query .= "   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
$query .= "   `nombre` CHAR( 75 ) NOT NULL ,";
$query .= "   `email` CHAR( 75 ) NOT NULL ,";
$query .= "   `comentario` LONGTEXT NOT NULL ,";
$query .= "   `estado` CHAR( 20 ) NOT NULL)";
$sql "INSERT INTO comentarios (nombre, email, comentario, estado) VALUES ('Álex', '[email protected]', 'Comentario de Álex', 'publicado')";
mysql_query($sql);
echo 
'Se insertó ' mysql_affected_rows() . ' nuevos registros';
$query "SELECT * FROM comentarios"
Muchas Gracias.
  #15 (permalink)  
Antiguo 26/05/2010, 12:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base Datos

No estás mirando bien.
Cada query debe ser enviado en secuencia:
Código PHP:
Ver original
  1. $sql = "CREATE BASEDATE principal";
  2. $sql = "CREATE TABLE comentarios (";
  3. $sql .= "   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
  4. $sql .= "   `nombre` CHAR( 75 ) NOT NULL ,";
  5. $sql .= "   `email` CHAR( 75 ) NOT NULL ,";
  6. $sql .= "   `comentario` LONGTEXT NOT NULL ,";
  7. $sql .= "   `estado` CHAR( 20 ) NOT NULL)";
  8. $sql = "INSERT INTO comentarios (nombre, email, comentario, estado) VALUES ('Álex', '[email protected]', 'Comentario de Álex', 'publicado')";
  9. echo 'Se insertó ' . mysql_affected_rows() . ' nuevos registros';
  10. $sql = "SELECT * FROM comentarios";  

Piensa:
1) Tienes que crear la base de datos. Es una estructura que debe ser generada en el DBMS y sólo se genera usando la sentencia SQL de creación de bases.
Código PHP:
Ver original
  1. $sql = "CREATE BASEDATE principal";
2) La base es una estructura vacía. Las tablas, antes de llenarse de datos, deben ser creadas con su respectiva sentencia.
Código PHP:
Ver original
  1. $sql = "CREATE TABLE comentarios (";
  2. $sql .= "   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
  3. $sql .= "   `nombre` CHAR( 75 ) NOT NULL ,";
  4. $sql .= "   `email` CHAR( 75 ) NOT NULL ,";
  5. $sql .= "   `comentario` LONGTEXT NOT NULL ,";
  6. $sql .= "   `estado` CHAR( 20 ) NOT NULL)";
3) Sólo si la base y tabla existen, se puede insertar datos en ella.
Código PHP:
Ver original
  1. $sql = "INSERT INTO comentarios (nombre, email, comentario, estado) VALUES ('Álex', '[email protected]', 'Comentario de Álex', 'publicado')";

Nota: Las sentencias de creación sólo deben ejecutarse una sola vez.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 26/05/2010, 12:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base Datos

Lo que te había puesto al principio era como llenar una variable con la sentencia a usar. Era obvio que esa variable debía ser usada como fuente de mysql_query()...
Eso es parte de lo que forzosamente debías conocer... No hacía falta que te lo dijera.
Al menos eso creía.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #17 (permalink)  
Antiguo 26/05/2010, 13:04
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Disculpa Si Supiera Tanto Como Uds Lo Uviera Entendido.
  #18 (permalink)  
Antiguo 26/05/2010, 13:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base Datos

No es saber mucho o poco, era básico.

Si estabas enviando esto:
Código PHP:
Ver original
  1. $sql = "INSERT INTO comentarios (nombre, email, comentario, estado) VALUES ('Álex', '[email protected]', 'Comentario de Álex', 'publicado')";

¿Cómo es posible que no te dieras cuenta que debías enviar esto así:
Código PHP:
Ver original
  1. $sql = "CREATE BASEDATE principal";

Si te estábamos diciendo que todo era SQL...

No se trata de saber mucho. Es que no estás mirando lo que copias.
Trata de entender qué hace lo que copias , no solamente transcribirlo, de lo contrario volverás a cometer los mismos errores y perderás más tiempo.

Programar no es una ciencia (bueno, si, tiene bastante de ciencia), es práctica, análisis y observación. Sin eso, nadie logra nada...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #19 (permalink)  
Antiguo 26/05/2010, 13:55
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Base Datos

Si SI Siempre Ago Eso Pero No Conosco La Funciones De php Y Tienes Razon Es Logico Manejo Otro Tipo De Programacion y Es lo Mismo , Disculpa No Me avia Dado Cuenta ..

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:48.