Ночи доброй. Вопрос интересует такого характера. Как првильно прописывать bind_param?
прописываю таким макаром
$append->bind_param(
'iisiissii',
$idvk,
$bdate,
$photo,
$sex,
$screen_name,
$first_name,
$last_name,
$can_access_closed,
$is_closed
);
потом $append-execute();
ошибку даёт 500.мне нужно передать 2 логических поля(тип tinyint), 3 строковых(varchar), 1 дату, 3 int поля.
правильно ли вообще я оформил bind?
запрос подготовил $append=$link->prepare('аля запрос');
PHP
PHP mysqli bind типы... ошибка 500
Ошибка 500 обычно указывает на то, что на сервере произошла внутренняя ошибка. Часто это может быть связано с ошибками в синтаксисе SQL-запроса, но также может быть связано с проблемами в коде PHP.
В твоем случае, кажется, что ты правильно оформили вызов bind_param. Параметры в bind_param должны указываться в таком порядке:
Строка типов параметров: 'iisiissii'
Переменные, которые связываются с параметрами запроса: $idvk, $bdate, $photo, $sex, $screen_name, $first_name, $last_name, $can_access_closed, $is_closed
Типы параметров указываются в строке 'iisiissii', где каждый символ обозначает тип одного из параметров:
'i' - для целочисленных параметров (int)
's' - для строковых параметров (varchar)
Таким образом, ты правильно указал типы параметров в bind_param. Чтобы найти причину ошибки 500, тебе может быть полезно посмотреть логи сервера и проверить, не выводится ли там более подробное сообщение об ошибке. Это может помочь тебе найти причину ошибки.
Также можешь попробовать выполнить запрос без использования bind_param, чтобы убедиться, что сам запрос работает корректно. Например:
В твоем случае, кажется, что ты правильно оформили вызов bind_param. Параметры в bind_param должны указываться в таком порядке:
Строка типов параметров: 'iisiissii'
Переменные, которые связываются с параметрами запроса: $idvk, $bdate, $photo, $sex, $screen_name, $first_name, $last_name, $can_access_closed, $is_closed
Типы параметров указываются в строке 'iisiissii', где каждый символ обозначает тип одного из параметров:
'i' - для целочисленных параметров (int)
's' - для строковых параметров (varchar)
Таким образом, ты правильно указал типы параметров в bind_param. Чтобы найти причину ошибки 500, тебе может быть полезно посмотреть логи сервера и проверить, не выводится ли там более подробное сообщение об ошибке. Это может помочь тебе найти причину ошибки.
Также можешь попробовать выполнить запрос без использования bind_param, чтобы убедиться, что сам запрос работает корректно. Например:
$query = "INSERT INTO table (col1, col2, col3, col4, col5, col6, col7, col8, col9) VALUES ($idvk, '$bdate', '$photo', '$sex', '$screen_name', '$first_name', '$last_name', $can_access_closed, $is_closed)";
$result = $link->query($query);
Если такой запрос работает корректно, то это может указывать на то, что проблема связана с использованием bind_param. В этом случае тебе может помочь добавление вызова $link->error после вызова bind_param, чтобы посмотреть сообщение об ошибке: $append->bind_param(
'iisiissii',
$idvk,
$bdate,
$photo,
$sex,
$screen_name,
$first_name,
$last_name,
$can_access_closed,
$is_closed
);
if (!$append->execute()) {
echo $link->error;
}
Похожие вопросы
- Ошибка в Mysqli
- Как перевести данный код цикла из кодировки Mysqli в PDO?
- Исправьте синтаксическую ошибку в программе на PHP
- Как в PHP указать тип переменной unsigned int?
- Помогите с php кодом, плиз) хотел функцию транслитерации написать, только ошибка выходит и все :(
- При написании php кода для отправки записи в базу данных выходит ошибка
- ошибка в коде php
- PHP Polling ChatGPT
- Как оптимизировать структуру сайта php. на готовом шаблоне
- Не работает PHP include на хостинге