为了账号安全,请及时绑定邮箱和手机立即绑定

PHP错误:“无法通过引用传递参数2”

/ 猿问

PHP错误:“无法通过引用传递参数2”

呼唤远方 2019-11-18 14:15:19

我只需要这个不太了解的PHP错误的帮助:


致命错误:在第13行的/web/stud/openup/inactivatesession.php中无法通过引用传递参数2


<?php


error_reporting(E_ALL);


include('connect.php');


$createDate = mktime(0,0,0,09,05,date("Y"));

$selectedDate =  date('d-m-Y', ($createDate));


$sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?";                                         

$update = $mysqli->prepare($sql);

$update->bind_param("is", 0, $selectedDate);  //LINE 13

$update->execute();


?>

这个错误是什么意思?如何解决此错误?


查看完整描述

2 回答

?
慕森王

该错误意味着第二个参数应该是对变量的引用。


由于您不是递给变量而是值0的整数,因此它会产生上述错误。


为了避免这种情况,请执行以下操作:


$update->bind_param("is", $a = 0, $selectedDate);  //LINE 13

如果您想了解发生了什么,而不是仅仅解决问题Fatal error,请阅读:http : //php.net/manual/zh/language.references.pass.php


查看完整回答
反对 回复 2019-11-18
?
慕瓜9086354

首先,DATE_FORMAT当您要比较日期时不应该使用,因为DATE_FORMAT将其更改为字符串不再是日期,


UPDATE Session 

SET Active = ? 

WHERE SessionDate <= ?

第二,首先将值存储在变量中,然后将其传递给参数


$createDate = mktime(0,0,0,09,05,date("Y"));

$selectedDate =  date('d-m-Y', ($createDate));

$active = 0;

$sql = "UPDATE Session SET Active = ? WHERE SessionDate <= ?";                                         

$update = $mysqli->prepare($sql);

$update->bind_param("is", $active, $selectedDate);  

$update->execute();


查看完整回答
反对 回复 2019-11-18

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信