如何在PHP中解决"无法通过引用传递参数"错误?

kus*_*tus 10 php mysqli

这是我的代码:

$stmt = $conn->mysqli->prepare('INSERT INTO photos (CaseNo, ImageName, CaptureTime, UploadTime) VALUES (?,?,?,?)');
$stmt->bind_param('isss', $caseno, $index.'.'.$extension, date('Y-m-d H:i:s'), date('Y-m-d H:i:s'));
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个:

$stmt = $conn->mysqli->prepare('INSERT INTO photos (CaseNo, ImageName, CaptureTime, UploadTime) VALUES (?,?,?,?)');
$captureTime = date('Y-m-d H:i:s');
$uploadTime = date('Y-m-d H:i:s');
$stmt->bind_param('isss', $caseno, $index.'.'.$extension, $captureTime, $uploadTime);
Run Code Online (Sandbox Code Playgroud)

我收到错误:

致命错误:**无法通过引用传递参数3**...文件路径...行#

请注意,CaptureTimeUploadeTime具有数据类型日期.并忽略我传递第3和第4参数的值相同的事实.

代码有什么问题?

Kev*_*rne 27

更改

$stmt->bind_param('isss', $caseno, $index.'.'.$extension, $captureTime, $uploadTime);
Run Code Online (Sandbox Code Playgroud)

$isss = 'isss';
$indexExtention = $index.'.'.$extension
$stmt->bind_param($isss, $caseno, $indexExtention , $captureTime, $uploadTime);
Run Code Online (Sandbox Code Playgroud)

我相信你必须传递变量而不是字符串.

或者你可以使用bindvalue()而不是bindparam()你正在使用PDO.