Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/04/2010, 11:47
xMarioHx
 
Fecha de Ingreso: septiembre-2009
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 1
Ayuda por favor con el rrelleno de tablas por PHP

Hola, por medio de un archivo necesito crear 2 tablas

luego llenar con contenido una de ellas.


pero al ejecutar el archivo, solo se crean las tablas y luego al intentar rellenarlas aparece el siguiwente 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 ''


El codigo es:

Código PHP:
// Thanks to Predrag Supurovic from php.net for this function!
function dobatch ($p_query) {
  
$query_split preg_split ("/[;]+/"$p_query);
  foreach (
$query_split as $command_line) {
   
$command_line trim($command_line);
   if (
$command_line != '') {
     
$query_result mysql_query($command_line) or die(mysql_error());
     if (
$query_result == 0) {
       break;
     };
   };
  };
  return 
$query_result;
}

include(
'configuracion.php');
include(
'lib.php');
    
$link opendb();
    global 
$dbsettings;
    
    
$prefix $dbsettings["prefix"];
    
$quest $prefix "_quest";
    
$usquest $prefix "_usquest";
    
    
$page"<html><head><title>Instalando Base de datos - Sistema de Quest relatadas</title></head><body><div class='titulo'>Por favor espere...</div>";
        
$query "CREATE TABLE IF NOT EXISTS `$quest` (";
$query .=  "`id` int(11) NOT NULL,";
$query .=  "`contenido` text NOT NULL,";
$query .=  "`idobjetivo` int(11) NOT NULL,";
$query .=  "`cantidad` int(11) NOT NULL,";
$query .=  "`idobjeto` int(11) NOT NULL COMMENT 'Añadir la ID del Objeto',";
$query .=  "`recompensa1` int(11) NOT NULL,";
$query .=  "`recompensa2` int(11) NOT NULL,";
$query .=  "`iditem` int(11) NOT NULL,";
$query .=  "`latitud` int(11) NOT NULL,";
$query .=  "`longitud` int(11) NOT NULL,";
$query .=  "`contenido2` text NOT NULL COMMENT 'Mensaje al Finalizar la Quest',";
$query .=  "`contenido3` text NOT NULL COMMENT 'Opcional, (Continuar Quest)',";
$query .=  "KEY `id` (`id`)";
$query .= ") ENGINE=MyISAM DEFAULT CHARSET=latin1;";

if (
dobatch($query) == 1) { $page .= "Las tablas del quest fueron creadas.<br />"; } else { $page .= "Error creando las tablas."; }
unset(
$query);

$query "CREATE TABLE IF NOT EXISTS `$usquest` (";
$query .=  "`id` int(11) NOT NULL auto_increment,";
$query .=  "`iduser` int(11) NOT NULL,";
$query .=  "`idquest` int(11) NOT NULL,";
$query .=  "`estado` int(11) NOT NULL,";
$query .=  "`contador` int(11) NOT NULL,";
$query .=  "UNIQUE KEY `id` (`id`)";
$query .=") ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";


if (
dobatch($query) == 1) { $page .= "Las tablas del usquest fueron creadas.<br />"; } else { $page .= "Error creando las tablas."; }
unset(
$query);

//AQUI ME MANDA EL ERROR

$query "INSERT INTO `$quest` VALUES (1, '<p><img src=\"estilo/imagenes/quest/campesino.jpg\" width=\"128\" height=\"128\" align=\"left\" />Al parecer es cierto, me hab&iacute;an  </p>');";

if (
dobatch($query) == 1) { $page .= "El Volcado se realizo con exito.<br />"; } else { $page .= "Error creando las tablas."; }
unset(
$query);


    
$page .= "<br />La instalación se realizo con exito<br /><br /><div>ES MUY IMPORTANTE QUE BORRES ESTE ARCHIVO ANTES DE CONTINUAR</div></body></html>";
    echo 
$page

Muchas gracias por su ayuda!

Última edición por xMarioHx; 20/04/2010 a las 18:08 Razón: Comentando la linea del error