Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

mysql_db_query "Create Table" no me anda..

Estas en el tema de mysql_db_query "Create Table" no me anda.. en el foro de Mysql en Foros del Web. Hola a todos. Necesito crear ciertas tablas en una base de datos mediante un script en php. He buscado y al parecer debo hacerlo usando ...
  #1 (permalink)  
Antiguo 10/05/2006, 07:24
 
Fecha de Ingreso: diciembre-2003
Ubicación: Mi casa
Mensajes: 65
Antigüedad: 20 años, 4 meses
Puntos: 0
mysql_db_query "Create Table" no me anda..

Hola a todos. Necesito crear ciertas tablas en una base de datos mediante un script en php. He buscado y al parecer debo hacerlo usando un query y la sentencia sql. El problema es que no logro hacer que me funcione. Php me devuelve errores en la sintaxis. Mas exactamente en la sentencia sql. Alquien sabe si puede haber problemas con las comillas dobles...simples...o como hacerlo???
Aqui les paso mi codigo:

conecto();
$create_table_string = "CREATE TABLE pepito ("."id INTEGER NOT NULL AUTO_INCREMENT, "."field1 INTEGER, "."title VARCHAR(50), "."desc VARCHAR(255), "."PRIMARY KEY (id))";

mysql_db_query("mibase", $create_table_string) or die mysql_error();

Muchas gracias por la ayuda !!
  #2 (permalink)  
Antiguo 10/05/2006, 07:42
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
El error de sintaxis debe ser porque el parámetro de la funcion die debe ir entre paréntesis. Por otro lado, no necesitas realizar esas concatenaciones para obtener la consulta, podes hacerlo todo como un solo string.
Otra cosa: no utilices la funcion mysql_db_query, ya es obsoleta. En su lugar deberias llamar primero a mysql_select_db() para seleccionar la base de datos y luego realizar la consulta sobre la base seleccionada anteriormente.
Probá con estos cambios:

Código PHP:
<?
conecto
();
mysql_select_db("mibase");
$create_table_string "CREATE TABLE pepito (id INTEGER NOT NULL AUTO_INCREMENT, field1 INTEGER, title VARCHAR(50), desc VARCHAR(255), PRIMARY KEY (id))";
mysql_query($create_table_string) or die(mysql_error());
?>
Saludos.
  #3 (permalink)  
Antiguo 10/05/2006, 12:22
 
Fecha de Ingreso: diciembre-2003
Ubicación: Mi casa
Mensajes: 65
Antigüedad: 20 años, 4 meses
Puntos: 0
Muchas gracias Notwen por la ayuda. Puse tal cual lo que me pasaste y me da este error:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc VARCHAR(255), PRIMARY KEY (id))' at line 1

No se si tenes idea que puede ser.
Igualmente agradezco mucho tu ayuda.
  #4 (permalink)  
Antiguo 10/05/2006, 13:00
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Supongo que debe ser porque desc es una palabra reservada que se utiliza para ordenar el resultado de forma descendiente. Proba ponerle otro nombre al campo, como por ejemplo des o algo parecido.
Saludos.
  #5 (permalink)  
Antiguo 10/05/2006, 16:43
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
lo mas probable es que sea por el desc, ya que es una palabra reservada, cambialo y de seguro funciona, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #6 (permalink)  
Antiguo 11/05/2006, 14:22
 
Fecha de Ingreso: diciembre-2003
Ubicación: Mi casa
Mensajes: 65
Antigüedad: 20 años, 4 meses
Puntos: 0
Al parecer era eso ! Muchas gracias !
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 21:54.