Foros del Web » Programando para Internet » PHP »

sentencia SQL para crear datos

Estas en el tema de sentencia SQL para crear datos en el foro de PHP en Foros del Web. Hola buenas noches; Os comento estoy intentando crear una tabla de lo más simple posible para ver si funciona mi código, pero en todo momento ...
  #1 (permalink)  
Antiguo 20/10/2011, 14:36
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
sentencia SQL para crear datos

Hola buenas noches;

Os comento estoy intentando crear una tabla de lo más simple posible para ver si funciona mi código, pero en todo momento me da error Parse error: syntax error, unexpected '{' in C:\wamp\www\gaComercial.php on line 12

El problema es que he intentado hacer mil cosas, pero siempre me da el mismo error, a ver si me podeis indicar más o menos por donde ir porque no doy con ello gracias:

Código PHP:
Ver original
  1. <?php session_start();
  2. include("tablasComercial.php");
  3. $empresaCif = $_SESSION["k_empresaCif"];
  4. $db = mysqli_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
  5. $consulta = "CREATE DATABASE ";
  6. $consulta = $consulta.$empresaCif;
  7. print "<p>Creando base de datos</p>";
  8. if (mysqli_query($db, $consulta)) {
  9.     print "<p>Base de datos creada correctamente.</p>";
  10.     print "<p>Creando tablas del entorno.</p>";
  11.     $sql1 = "CREATE TABLE `pedidos` (i INT NOT NULL)";
  12.     if (mysql_query($sql1){
  13.         print "<p>Tablas creadas correctamente.</p>";
  14.     }else{
  15.         print "<p>Error al crear las tablas.</p>";
  16.         $consulta = "DROP DATABASE ";
  17.         $consulta = $consulta.$empresaCif;
  18.         mysqli_query($db, $consulta);
  19.         print "<p>Base de datos eliminada.</p>";
  20.     }  
  21. }else{
  22.     print "<p>Error al crear la base de datos.</p>";
  23.     print "<p>Creación de entorno cancelada.</p>";
  24. }
  25.  
  26.  
  27.  
  28. ?>
  #2 (permalink)  
Antiguo 20/10/2011, 14:39
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: sentencia SQL para crear datos

Cambia esto

Código PHP:
Ver original
  1. if (mysql_query($sql1) {

por esto

Código PHP:
Ver original
  1. if (mysql_query($sql1)) {

Si abres 2 paréntesis debes cerrar 2 no 1

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 20/10/2011, 15:00
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: sentencia SQL para crear datos

Perdona, pero es que he cambiado tantas veces el código que no veia nada, de todas formas la sentencia no la ejecuta me dice este error:

Parse error: syntax error, unexpected T_STRING in C:\wamp\www\gaComercial.php on line 12

Código PHP:
Ver original
  1. if (mysql_query($sql1) or die mysql_error()){
  2.         print "<p>Tablas creadas correctamente.</p>";
  3.     }else{
  #4 (permalink)  
Antiguo 20/10/2011, 15:07
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: sentencia SQL para crear datos

if (mysql_query($sql1) or die mysql_error()){

filate que die no tiene sus paréntesis además para que haces el or die si ya estás haciendo un else en el cual puedes imprimir el mensaje de error y detener.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 20/10/2011, 15:11
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: sentencia SQL para crear datos

Es que intento averiguar el motivo por el cual la sentencia SQL no la ejecuta, siempre se va por el else. He intetado descartar opciones, como tema de link, que la sentencia esté mal construida, pero es que no le encuentro el fallo.

Podría ser que no sabe donde crear la tabla?
  #6 (permalink)  
Antiguo 20/10/2011, 15:13
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: sentencia SQL para crear datos

En vez de este condicional:

Código PHP:
Ver original
  1. if (mysql_query($sql1) or die mysql_error()){
  2.         print "<p>Tablas creadas correctamente.</p>";
  3. }else{
  4.        
  5.        
  6. }

haces esto:

Código PHP:
Ver original
  1. $rs = mysql_query($sql1) or die(mysql_error());

Si hay error en la consulta te lo va a informar.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 20/10/2011, 15:25
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: sentencia SQL para crear datos

vale, al final el error es este:

Error al seleccionar la Base de Datos: Access denied for user ''@'localhost' to database 'abcdefg'

Hablo desde la ignorancia, pero no tendría que tener acceso localhost a todas las bases de datos?

Etiquetas: mysql, sentencia, sql, tabla
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 01:57.