with valor utilizarlos stored referencia procedimientos por paso pasar parametros mysqli_query mysql_query llamar funciones ejemplo desde almacenados php function mysqli ref

valor - PHP y MySQLi-No se puede pasar el parámetro 2 por referencia en



php call stored procedure mysql with parameters (3)

Haga 0 una variable o inclúyala directamente en su consulta.

$zero = 0; $stmt->bind_param("ii", $zero, $victimiid);

Estoy tratando de hacer una función que verifique la actualización e inserte algunos datos, pero estoy teniendo un problema en el primer paso donde el $ stmt-> bind_param dice que no está pasando parámetros por referencia o algo así.

Busqué en internet pero no había nada, así que no sé qué hacer con él.

He adjuntado debajo del código de función:

public function killTarget($killerid,$victimiid,$victimcode) { if ($this->checkUsercode($victimcode,$victimiid)) { $stmt = $this->_db->prepare("UPDATE users SET status =? WHERE user_id =?"); $stmt->bind_param("ii",0,$victimiid); if ($stmt->execute()) { $stmt->store_result(); $stmt->fetch(); $stmt = $this->_db->prepare("SELECT victim_id FROM target WHERE killer_id = ?"); $stmt->bind_param("i",$victimiid); if ($stmt->execute()) { $stmt->store_result(); $stmt->bind_result($targetid); $stmt->fetch(); $stmt = $this->_db->prepare("INSERT INTO target (killer_id, victim_id) VALUES (?,?)"); $stmt->bind_param("ii",$killerid,$targetid); if ($stmt->execute()) { $stmt->store_result(); $stmt->fetch(); $stmt->close(); } } } else { Main::setMessage("targets.php",$this->_db->error,"alert-error"); } } }

Bueno, cualquier sugerencia es apreciada.

Gracias


No puedes hacer esto en mysqli:

$stmt->bind_param("ii",0,$victimiid);

El 0 necesita ser una variable.

Prueba esto:

$zero = 0; $stmt->bind_param("ii",$zero,$victimiid);


¡Cuidado! mysqli_stmt::bind_param acepta una referencia a una variable, no a un valor constante. Por lo tanto, debe crear una variable para mantener ese 0 y luego hacer referencia a esa variable.

$i = 0; $stmt->bind_param("ii", $i, $victimiid);