Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2011, 07:40
Avatar de JeMaGa
JeMaGa
 
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta Procedimiento MYSQL desde PHP

Hola otra ves yo que pena la molestia, pero no he podido arreglar un error que me aparece y es que no se que mas hacer o porq eu me sale ese error

bueno..... Yo tengo un procedimiento almacenado que me resive como parametros 5 datos, y este procedimiento si funciona bein, el problema biene en php, resulta que llamo el procedimiento almacenado tal cual esta ejecutado en mysql y loq ue cambio son los valores el punto es que no me los toma todos.
Miren tengo esto:

PROCEDIMIENTO


CREATE PROCEDURE `firmar`(IN `Codigo` VARCHAR(20),IN `Version` INT,IN `idNombre` INT,IN `Fecha` DATE,IN `Nombre` VARCHAR(20))
BEGIN

SET idNombre = (SELECT `Cod.Persona` FROM `personas`
WHERE `Nombre_Persona`= `Nombre`);
INSERT INTO `firma_conocimiento` (`Cod.Doc`,`Version`, `Cod.Persona`,`Fecha`) VALUES(`Codigo`,`Version`, `idNombre`, NOW());

END$$


Esto es la ejecucion del procedimiento desde mysql

CALL `firmar`('SAC-0313',4,'Lorena Sanchez',NOW(),'Lorena Sanchez')

y este es el de php

$sql = mysqli_query("CALL `firma('.$Codigo.','.$Version.','.$Nombre.','.$Fec ha.','.$Nombre.')") or die (mysql_error());

aqui me saca el error de que Cod.Persona no puede ser nullo (Column 'Cod.Persona' cannot be null) si pero este valor lo estoy llenando pero no se por que no me lo toma aqui esta todo mi codigo

<script language="JavaScript" type="text/javascript" src="Ajax.js"></script>

<?php

require("Conexion.php");

$Codigo=$_POST['Cod_Doc']; ---->Variable de la lista de seleccion

$Version=$regis['Version']; -----> Variable de la version

$Nombre=$_GET['Nombre']; ----> Variable de mi campo de texto Nombre

$Fecha=$_GET['fecha']; -----> Variable de mi campo de texto Fecha

$Consult = mysql_query("SELECT distinct(`Version`) FROM `firma_conocimiento` WHERE `Cod.Doc`='$Codigo'") or die (mysql_error()); -----> Realizo la consulta para
asignarle ese valor a la variable $Version

Aqui ejecuto mi procedimiento almacenado

$sql = mysqli_query("CALL `firmar`('.$Codigo.','.$Version.','.$Nombre.','.$F echa.','.$Nombre.')") or die (mysql_error());

while($regis=mysql_fetch_array($sql)){

if($sql){

echo 'Se insertaron los datos';

}

}

?>


Agradezco toda la ayuda posible