Я пытаюсь использовать подготовленные операторы и независимо от запроса всегда возвращает синтаксическую ошибку при вставке: «У вас есть ошибка в синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MySQL. использовать около 'I' в строке 1 "
...
query = "INSERT INTO my_table (blob_field) VALUES(?)";
//query = "SELECT 1"; // This simple query also fails.
MYSQL_STMT *stmt = mysql_stmt_init(conn);
if (mysql_stmt_prepare(stmt, query, strlen(query) != 0))
{
last_error = mysql_error(conn);
return EXIT_FAILURE;
}
...
Версия libmysql.lib / dll - 5.5.36. Согласно их веб-сайту, версия поддерживает это. Состояние mysql_stmt_init возвращает MYSQL_STMT_INIT_DONE (1), который кажется нормальным, но завершается ошибкой при mysql_stmt_prepare.
Я пробовал несколько примеров, в том числе на их сайте здесь: https://dev.mysql.com/doc/refman/5.5/en/c-api-prepared-statement-date-handling.html