PHP и MySQLi – невозможно передать параметр 2 по ссылке в

Я пытаюсь сделать функцию, которая будет проверять обновление и вставлять некоторые данные, но у меня проблема на первом этапе, где $ stmt-> bind_param говорит, что не передает параметры по ссылке или что-то в этом роде.

Я искал через интернет, но ничего не было вокруг, поэтому я не знаю, что с ним делать.

Я добавил код функции:

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"); } } } 

Ну, любое предложение приветствуется.

спасибо

Вы не можете сделать это в mysqli:

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

Значение 0 должно быть переменной.

Попробуй это:

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

Сделайте 0 переменной или включите ее непосредственно в свой запрос.

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

Осторожно! mysqli_stmt::bind_param принимает ссылку на переменную, а не постоянное значение. Поэтому вам нужно создать переменную для хранения этого 0 а затем вместо этого ссылаться на эту переменную.

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