PHP错误:“不能通过引用传递参数2”
我只需要帮助这个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('dm-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(); ?>
这个错误是什么意思? 这个错误怎么解决?
该错误意味着第二个参数可能是一个variables的引用 。
由于您没有处理一个variables,而是一个整数值为0的variables ,所以会产生所述错误。
为了规避这个事情:
$update->bind_param("is", $a = 0, $selectedDate); //LINE 13
如果您想了解正在发生的事情,而不是仅仅修复Fatal error
,请阅读: http : //php.net/manual/en/language.references.pass.php
首先,当您想比较date时,不应该使用DATE_FORMAT
,因为DATE_FORMAT
将其更改为string不再是date ,
UPDATE Session SET Active = ? WHERE SessionDate <= ?
其次,将值存储在一个variables上并传递给参数
$createDate = mktime(0,0,0,09,05,date("Y")); $selectedDate = date('dm-Y', ($createDate)); $active = 0; $sql = "UPDATE Session SET Active = ? WHERE SessionDate <= ?"; $update = $mysqli->prepare($sql); $update->bind_param("is", $active, $selectedDate); $update->execute();