반응형
PHP 오류: "참조 기준으로 매개 변수 2를 전달할 수 없습니다."
이 PHP 오류에 대한 도움이 필요합니다.이 오류는 잘 모르겠습니다.
치명적 오류: /web/studd/openup/inactivatedsession에서 참조로 매개 변수 2를 전달할 수 없습니다.13행의 php
<?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();
?>
이 오류는 무엇을 의미합니까?이 오류를 수정하려면 어떻게 해야 합니까?
오류는 두 번째 인수가 변수에 대한 참조가 될 것으로 예상됨을 의미합니다.
변수가 아니라 값 0의 정수를 전달하기 때문에 해당 오류가 발생합니다.
이것을 회피하려면 , 다음의 순서에 따릅니다.
$a = 0;
$update->bind_param("is", $a, $selectedDate); //LINE 13
어떤 일이 일어나고 있는지 알고 싶은 경우, 단순히 문제를 해결하는 것이 아니라Fatal error
http://php.net/manual/en/language.references.pass.php 를 참조해 주세요.
첫째, 당신은 그것을 사용해서는 안 된다.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();
언급URL : https://stackoverflow.com/questions/13105373/php-error-cannot-pass-parameter-2-by-reference
반응형
'source' 카테고리의 다른 글
Python: None을 빈 문자열로 변환하는 가장 관용적인 방법? (0) | 2022.11.19 |
---|---|
MySQL의 기본 조합이 latin1_swedish_ci인 이유는 무엇입니까? (0) | 2022.11.19 |
Java용 SSH 라이브러리 (0) | 2022.11.19 |
JavaScript 객체에 동적으로 명명된 속성을 추가할 수 있습니까? (0) | 2022.11.19 |
PHP Try Catch 블록에 예외 발생 (0) | 2022.11.19 |