Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   mysql_db_query "Create Table" no me anda.. (http://www.forosdelweb.com/f86/mysql_db_query-create-table-no-anda-392437/)

decabeza 10/05/2006 07:24

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 !!

Notwen 10/05/2006 07:42

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.

decabeza 10/05/2006 12:22

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.

Notwen 10/05/2006 13:00

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.

deadlykyo 10/05/2006 16:43

lo mas probable es que sea por el desc, ya que es una palabra reservada, cambialo y de seguro funciona, cya

decabeza 11/05/2006 14:22

Al parecer era eso ! Muchas gracias !


La zona horaria es GMT -6. Ahora son las 19:56.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.