Синтаксическая ошибка MySQL в простом подготовленном утверждении, использующем libmysql в c ++ - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь использовать подготовленные операторы и независимо от запроса всегда возвращает синтаксическую ошибку при вставке: «У вас есть ошибка в синтаксисе 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

...