это не $descrip
в этом проблема; это 0s (параметры 4 и 5). решение состоит в том, чтобы передавать переменные, а не целые числа:
`$query = "INSERT INTO pat_table (pat_name, pat_image, pat_descrip, pat_doctor, pat_resident, pat_create, pat_modify) VALUES (?, ?, ?, ?, ?, ?, ?)";`
$pat_doctor = 0;
$pat_resident = 0;
if($stmt = $this->conn->prepare($query)){
$stmt->bind_param('sssiidd', $name, $image, $descrip, $pat_doctor, $pat_resident, date("Ymd"), date("Ymd"));`
очевидно, mysqli_bind_param хочет, чтобы его аргументы были ссылками, поэтому он ищет, где они хранятся в памяти, а не копирует их значения. это имеет смысл, так как некоторые вещи, которые вы хотели бы связать с оператором sql, например, этот образ, вероятно, достаточно велики, чтобы избежать лишних копий. литералы, строковые или иные, не доступны по ссылке. см .: http://us.php.net/references
Я не предлагаю жестко кодировать 0 в выражении sql, так как это излишне запутывает ваш код.
позвольте мне, кстати, предложить PDO. его синтаксис гораздо разумнее.