Вот мой код:
$stmt = $conn->mysqli->prepare('INSERT INTO photos (CaseNo, ImageName, CaptureTime, UploadTime) VALUES (?,?,?,?)'); $stmt->bind_param('isss', $caseno, $index.'.'.$extension, date('Ymd H:i:s'), date('Ymd H:i:s'));
Я также пробовал это:
$stmt = $conn->mysqli->prepare('INSERT INTO photos (CaseNo, ImageName, CaptureTime, UploadTime) VALUES (?,?,?,?)'); $captureTime = date('Ymd H:i:s'); $uploadTime = date('Ymd H:i:s'); $stmt->bind_param('isss', $caseno, $index.'.'.$extension, $captureTime, $uploadTime);
Я получаю сообщение об ошибке:
Неустранимая ошибка: ** Не удается передать параметр 3 по ссылке в ** … путь к файлу … строка #
Обратите внимание, что CaptureTime и UploadeTime имеют дату данных. И игнорируйте тот факт, что я передаю значение третьего и четвертого параметров.
Что не так с кодом?
+ Изменить
$stmt->bind_param('isss', $caseno, $index.'.'.$extension, $captureTime, $uploadTime);
в
$isss = 'isss'; $indexExtention = $index.'.'.$extension $stmt->bind_param($isss, $caseno, $indexExtention , $captureTime, $uploadTime);
Я считаю, что вам нужно передавать переменные, а не строку.
Или вы можете использовать bindvalue()
вместо bindparam()
если используете PDO.
Может быть, вам нужно бросить его в строку?
...$extension, (string) $captureTime, (string) $uploadTime);