Programación Web y Scripting > PHP

 No Inserta Variables A La Base De Dato Mysql

(1/1)

chuncho_villero:
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:
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 ---//almacenar valores en una variable&#036;usuario=&#036;_POST['usuario']; &#036;operador=&#036;_POST['nick']; &#036;tipo=&#036;_POST['tipo']; &#036;mediosolucion=&#036;_POST['mediosolucion'];&#036;detalle = &#036;_POST['detalle']; 
A ver si así funciona.

Salu2,
Avalon

F_Tanori:
ademas de lo que comenta Avalon

cada consulta en las variables 'result'

ejemplo


--- Código: Text ---&#036;result1= mysql_query(&#036;sql1, &#036;link) or die(mysql_error()); 
te devuelven toda la matriz de resultados, necesitas extraer el dato  (fetch)

por ejemplo

--- Código: Text --- &#036;result1= mysql_query(&#036;sql1, &#036;link) or die(mysql_error());&#036;result1= mysql_fetch_row(&#036;result1);&#036;result1= &#036;result1[0]; 


Saludos

LeGatoRojo:
usa

--- Código: Text ---extract(&#036;_GET);extract(&#036;_POST); 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'.

Navegación

[0] Índice de Mensajes

Ir a la versión completa