• Domingo 22 de Diciembre de 2024, 10:55

Autor Tema:  No Inserta Variables A La Base De Dato Mysql  (Leído 1438 veces)

chuncho_villero

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
No Inserta Variables A La Base De Dato Mysql
« en: Jueves 19 de Julio de 2007, 12:10 »
0
amigos estoy trabajando con php y mysql

lleno un formulario de los cuales recivo los valores de usuario, nick, tipo, y me dio de solucion

<?php


ob_start();
session_start();
session_name("usuarios");

require_once ("conectar.php");
require_once ("login.php");
require_once ("valida_sesion.php");

//almacenar valores en una variable
$usuario=$_POST[usuario];
$operador=$_POST[nick];
$tipo=$_POST[tipo];
$mediosolucion=$_POST[mediosolucion];
$detalle = $_POST['detalle'];

//encontrar el id de cada campo
$sql1 = "SELECT id_usuario_cliente FROM usuario_cliente WHERE nombre_usuario = '$usuario'";
$result1= mysql_query($sql1, $link) or die(mysql_error());

$sql2= "SELECT id_operador FROM operador WHERE nombre = '$operador'";
$result2 = mysql_query($sql2, $link) or die(mysql_error());

$sql3 = "SELECT id_area_problema FROM area_problema WHERE tipo_problema = '$tipo'";
$result3= mysql_query($sql3, $link) or die(mysql_error());

$sql4 = "SELECT id_tipo_soporte FROM tipo_soporte WHERE clase_soporte = '$mediosolucion'";
$result4= mysql_query($sql4, $link) or die(mysql_error());

//almacenar fecha en una variable
$date = time ();  
$hora = date ( "G:i:s" , $date );
$fecha = date ( "d-m-y" , $date );
$fechahora = "$fecha " . "$hora";

// Con esta sentencia SQL insertaremos los datos en la base de datos
$sql = "INSERT INTO `orden_trabajo` (
         cod_ot,
         usuario_cliente_id_usuario_cliente,
         cliente_rut,
         proyecto_id_proyecto,
         operador_id_operador,
         area_problema_id_area_problema,
         tipo_soporte_id_tipo_soporte,
         status_2_id_status,
         compromiso_id_compromiso,
         detalle_problema,
         solucion_problema,
         fecha_inicio,
         fecha_termino,
         hora_inicio,
         hora_termino)
      VALUES (
         '',
         '$result1',
         '',
         '',
         '$result2',
         '$result3',
         '$result4',
         '',
         '',
         '$detalle',
         '',
         '',
         '',
         '',
         '')";

   mysql_query($sql,$link) or die(mysql_error());
?>

como ven recivo los datos y los almaceno en variables, luego rescato los id de cada campo para luego insertarlos en la tabla de consultar_ot, al parecer tengo un problema al rescatar los id, ya que al ejecutar esto solo me inserta  $detalle, y esa es la unica que no se rescata el id, por favor si alguien pudiera decirme en que estoy topando o que estoy haciendo mal estaria muy agradecido

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: No Inserta Variables A La Base De Dato Mysql
« Respuesta #1 en: Jueves 19 de Julio de 2007, 15:52 »
0
A simple vista lo único extraño que veo es que no pusiste las comillas más que donde tomas el detalle. En usuario, nick, etc... no las pusiste...

Código: Text
  1. //almacenar valores en una variable
  2. &#036;usuario=&#036;_POST['usuario'];
  3. &#036;operador=&#036;_POST['nick'];
  4. &#036;tipo=&#036;_POST['tipo'];
  5. &#036;mediosolucion=&#036;_POST['mediosolucion'];
  6. &#036;detalle = &#036;_POST['detalle'];
  7.  

A ver si así funciona.

Salu2,
Avalon

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: No Inserta Variables A La Base De Dato Mysql
« Respuesta #2 en: Jueves 19 de Julio de 2007, 15:59 »
0
ademas de lo que comenta Avalon

cada consulta en las variables 'result'

ejemplo

Código: Text
  1. &#036;result1= mysql_query(&#036;sql1, &#036;link) or die(mysql_error());
  2.  

te devuelven toda la matriz de resultados, necesitas extraer el dato  (fetch)

por ejemplo
Código: Text
  1.  
  2. &#036;result1= mysql_query(&#036;sql1, &#036;link) or die(mysql_error());
  3. &#036;result1= mysql_fetch_row(&#036;result1);
  4. &#036;result1= &#036;result1[0];
  5.  



Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: No Inserta Variables A La Base De Dato Mysql
« Respuesta #3 en: Jueves 19 de Julio de 2007, 23:46 »
0
usa
Código: Text
  1. extract(&#036;_GET);
  2. extract(&#036;_POST);
  3.  
Para ahorrarte las asignaciones, y como ya dijo F_Tanori, debes sonseguir primero la matriz de datos ya sea con mysql_fetch_row, mysql_fetch_assoc y conseguir segun sea el caso la posición que gustes, en este caso la primera.
Y por ultimo como recomendación usa id's para no tener que buscar
nombre_usuario = '$usuario'.
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.