elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Error en al insertar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en al insertar  (Leído 2,453 veces)
jagltoro

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Error en al insertar
« en: 6 Abril 2012, 19:05 pm »

Les voy a explicar mi problema lo mas detallado posible:

tengo una instruccion:
Citar
$query="insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('$des_2','$nom','$des','$cat','$des_1')";

Cuando le doy el echo me muestra bien:
Citar
insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('foto.png,'Titulo','Descripcion','1','documento.pdf)

[No pongo los valores reales porq no son importantes, si me muestra lo que le mando]

el detalle esta en cuando ejecuto mysql_query($query) or die (mysq_error()); no me da nada, he intentado incluso mysql_query($query,$link) or die (mysq_error()); y lo mismo
El archivo de conexion a la base de datos esta bien porque lo utilizo en otros formularios y si me ingresa correctamente, el detalle es con este.

Al principio lo tenia directo
Citar
mysql_query("insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('$des_2','$nom','$des','$cat','$des_1')")
lo cambie por:
Citar
mysql_query("insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('$des_2','$nom','$des','$cat','$des_1')",$link)

le puse el ';' despues de las comillas dobles y aun nada

no se que mas pueda hacer, ah un amigo me dijo que lo pusiera asi:
Citar
"insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('".$des_2."','".$nom."','".$des."','".$cat."','".$des_1."')";

Y aun nada

Detalles:
 SO: Ubuntu 11.10
 PHP: 5.3.6-13ubuntu3.6
 MySQL: 5.1.61


En línea

Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: Error en al insertar
« Respuesta #1 en: 6 Abril 2012, 19:18 pm »

Código
  1. mysql_query("insert into libro(foto,titulo,descripcion,id_categoria,archivo) values($des_2,$nom,$des,$cat,$des_1)",$link);
  2.  

Si las variables las has declarado tu en el mismo archivo, con esto te debería funcionar, además mira si el orden en el que insertas las variables es el correcto.

Si en vez de ser declaradas son recibidas mediante un formulario de otra página, ya sabes que debes usar las variables $_REQUEST[],$_POST[] o $_GET[].

Si con ésto no te funciona avisalo y te busco otras posibles soluciones :)

Un saludo :)


En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
jagltoro

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Error en al insertar
« Respuesta #2 en: 6 Abril 2012, 19:40 pm »

el formulario:

Código:
<legend>Ingresar nuevo libro</legend>
     <form action="ingresos/libros.php" method="POST" enctype="multipart/form-data">
      <table class="nostyle">
              <input type="hidden" name="action" value="nuevo"/>
                <tr>
        <td style="width:70px;">Foto: </td>
<td><input type="file" name="foto" class="input-text"/></td>
</tr>
                <tr>
<td style="width:70px;">Titulo: </td>
<td><input type="text" name="titulo" class="input-text"/></td>
</tr>
                <tr>
<td style="width:70px;">Descripcion: </td>
                        <td><textarea name="descripcion" cols="50" rows="10"></textarea></td>
</tr>
                <tr>
<td style="width:70px;">Categoria: </td>
<td>
                        <select name="categoria">
                        <option value="">------------</option>
                        <?php
                                 include('conect.php');
                                 $link=Conectarse();
                                 $query = mysql_query("SELECT * FROM categoria");
                                 while ($row = mysql_fetch_array($query))
                                 { ?>
                                      <option value="<?php echo $row['id']; ?>"><?php echo $row['descripcion']; ?></option>
                                <?php } ?>
                       </select>
                       </td>
</tr>
                <tr>
                        <td style="width:70px;">Autor(es): </td>
                        <td><input name="btnCreate" type="button" value="+" onClick="javascript:fncCreateElement();">
                               <input name="btnDelete" type="button" value="-" onclick="javascript:fncDeleteElement();"><br>
                               <div id="autores"></div>
                               <input name="conteo" id="hdnLine" type="hidden" value="0">
                        </td>
                 </tr>
                 <tr>
                        <td style="width:70px;">Archivo: </td>
                        <td>
                        <input type="file" name="archivo" class="input-text"/>
                         </td>
                 </tr>
<tr>
                <td colspan="2" class="t-right"><input type="submit" class="input-submit" value="Nuevo" /></td>
</tr>
</table>
</form>

y el php
Código:
<?php include('../conect.php');
       $link=Conectarse();
       $action=$_POST['action'];
       $id=$_POST['id'];
       
       $foto=strtolower($_FILES['foto']['name']);
       $nom=$_POST['nombre'];
       $des=$_POST['descripcion'];
       $arc=$_FILES['archivo']['name'];
       $cat=(int)$_POST['categoria'];
       $i=$_POST['conteo'];
       for($j=0;$j<=$i;$j++)
       {
           $id_aut[$j]=$_POST['autor'.$j];
       }
       $pref=substr(md5(uniqid(rand())),0,15);
       $trozos=explode(".",$arc);
       $ext_arc=end($trozos);
       $trozos=explode(".",$foto);
       $ext_foto=end($trozos);
       $des_arc="uploads/".$pref.".".$ext_arc;
       $des_foto="uploads/".$pref.".".$ext_foto;
       $des_1="modulos/ingresos/".$des_arc;
       $des_2="modulos/ingresos/".$des_foto;
       $query="insert into `libro` (foto,titulo,descripcion,id_categoria,archivo) values ('".$des_2."','".$nom."','".$des."',$cat,'".$des_1."')";
                   
       if($action=='nuevo')
       {
           if ($arc!= "")
            {
                    // guardamos el archivo a la carpeta files
                   
                    if (copy($_FILES['archivo']['tmp_name'],$des_arc) and copy($_FILES['foto']['tmp_name'],$des_foto))
                    {
                        include('../conect.php');
                        $link=Conectarse();
                        mysql_query($query);
                        $id= mysql_insert_id($link);
                        for($j=0;$j<=$i;$j++)
                        {
                            mysql_query("insert into autor_a_libro values ('$id','$id_aut[$j]')",$link);
                        }
                    }
            }
           
           echo "<script>location.href='../libros.php?do=nuevo'</script>";
       } ?>
En línea

Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: Error en al insertar
« Respuesta #3 en: 6 Abril 2012, 19:48 pm »

Has probado lo que te he dicho antes?

Código
  1.  $query="insert into libro(foto,titulo,descripcion,id_categoria,archivo) values($des_2,$nom,$des,$cat,$des_1)";

Y acuérdate de usar addslashes() para eliminar la posibilidad de magic quotes :)

Un saludo :)
En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
jagltoro

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Error en al insertar
« Respuesta #4 en: 6 Abril 2012, 21:28 pm »

Solucione el error rehaciendo todo el codigo, muchas gracias por la ayuda, sin embargo sigo sin entender que paso, porque las instrucciones son identicas a las que tenia, solo movi un poquito y cambie algunos nombres de variables, sin embargo en teoria es lo mismo.

Ah por cierto Runex, el comando que me diste no funciono, daba un error Unknown field, si no me equivoco
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Error en al insertar
« Respuesta #5 en: 7 Abril 2012, 02:02 am »

Que extraño, podria preguntar que hace esta funcion?

Código
  1. $link=Conectarse();

Porque es una funcion que la envias sin parámetros, quiza puede ser eso, como tambien no :xD

Pero como ya lo solucionaste no hay problema.
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
jagltoro

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Error en al insertar
« Respuesta #6 en: 8 Abril 2012, 20:14 pm »

La funcion $link=Conectarse();

viene del conect.php

function Conectarse()
{
     $db_host="****";
     $db_nombre="****";
     $db_user="****";
     $db_pass="*****";

     $link=mysql_connect($db_host,$db_user,$db_pass) or die ("error");
     mysq_select_db($db_nombre,$link);
     
     return $link;
}
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error insertar sub en virtual dub « 1 2 3 »
Multimedia
soytiti 26 7,783 Último mensaje 25 Octubre 2004, 02:54 am
por mbruch
me da un error al insertar un subtitulo en un avi
Multimedia
serpuc 7 2,441 Último mensaje 24 Septiembre 2005, 14:03 pm
por Songoku
Error al insertar CD
Software
mabe 1 2,939 Último mensaje 10 Abril 2007, 19:40 pm
por ‭lipman
Error al insertar BLOB con libmysql.dll
Programación C/C++
LucasBols 2 1,907 Último mensaje 31 Mayo 2012, 18:58 pm
por LucasBols
error insertar comilla
PHP
kakashi20 5 2,142 Último mensaje 22 Agosto 2013, 19:32 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines