PHP - Error al llamar procedimiento almacenado

   
Vista:

Error al llamar procedimiento almacenado

Publicado por diego (2 intervenciones) el 13/02/2018 14:18:55
Buen dia compañeros del foro.
soy nuevo en este foro y tambien en la programacion con php.
Mi dilema es el siguiente:

tengo un procedimiento almacenado en mysql como el que sigue

1
2
3
4
5
delimiter //
create procedure verID_producto(nom varchar(50), out salida int)
begin
select id_producto from productos where nombre=nom into salida;
end//

y el siguiente codigo en php
1
2
3
4
5
6
7
function obtID_producto($cad){
$conn = new mysqli('localhost','root',' ','rio');
$sentencia = $conn->prepare("CALL verID_producto('desmanchador',?)");
$sentencia->bind_param(0, $valor, PDO::PARAM_INT, 10); //linea 51
// llamar al procedimiento almacenado
$sentencia->execute();
}

y me da el siguiente error:

Fatal error: Cannot pass parameter 3 by reference in C:\wamp\www\pagProdRio.php on line 51.

he estado dando vueltas por muchas partes y probando de muchas maneras el codigo pero no logro llegar a la solucion.
Pido que porfavor me ayuden. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Error al llamar procedimiento almacenado

Publicado por xve (6410 intervenciones) el 13/02/2018 19:39:59
Hola Diego, el primer valor del campo bind_param() tiene que ser una:
i - la variable correspondiente es de tipo entero
d - la variable correspondiente es de tipo double
s - la variable correspondiente es de tipo string
b - la variable correspondiente es un blob y se envía en paquetes


Y luego los valores para cada interrogante.

https://secure.php.net/manual/es/mysqli-stmt.bind-param.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al llamar procedimiento almacenado

Publicado por diego (2 intervenciones) el 14/02/2018 00:42:23
Gracias por responder, y por que cuando le doy
1
echo $sentencia->affected_rows;
me devuelve un valor de 0?, eso es normal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar