У меня возникла проблема с отправкой данных о переменной в базу данных MySQL. Проблема в том, что я пытаюсь отправить данные RFID с переменной.
String INSERT_SQL ="INSERT INTO database.table VALUES('0 ',"conteudo")";
Выдает эту ошибку.
unable to find string literal operator 'operator""conteudo' with 'const char [43]', 'unsigned int' arguments
Вот полный код.
#include
#include
#include
#include
#include
Servo servo;
#define SS_PIN 21
#define RST_PIN 22
MFRC522 mfrc522(SS_PIN, RST_PIN);
const char* ssid = "";
const char* password = "";
char user[] = "";
char passw[] = "";
String conteudo = "";
#define MYSQL_DEBUG_PORT Serial
#define MYSQL_LOGLEVEL 0
#define USING_HOST_NAME true
#if USING_HOST_NAME
char server[] = "";
char default_database[] = "";
char default_table[] = "";
#else
IPAddress server(192, 168, 0, 250);
#endif
uint16_t server_port = 3306;
MySQL_Connection conn((Client *)&client);
MySQL_Query *query_mem;
int led_CH1 = 14;
int pos = 0;
void setup()
{
pinMode(led_CH1, OUTPUT);
Serial.begin(115200);
while (!Serial && millis() < 5000);
SPI.begin();
iniciarWiFi();
MYSQL_DISPLAY1("Connecting to", ssid);
MYSQL_DISPLAY3("Connecting to SQL Server @", server, ", Port =", server_port);
MYSQL_DISPLAY5("User =", user, ", PW =", passw, ", DB =", default_database);
mfrc522.PCD_Init();
servo.attach(25);
servo.write(100);
Serial.println("Aproxime o seu cartao do leitor...");
Serial.println();
}
void loop()
{
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
Serial.print("UID da tag :");
byte letra;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte, HEX);
conteudo.concat(String(mfrc522.uid.uidByte < 0x10 ? " 0" : " "));
conteudo.concat(String(mfrc522.uid.uidByte, HEX));
}
Serial.println();
Serial.print("Mensagem : ");
conteudo.toUpperCase();
if (conteudo.substring(1) == "B0 21 A4 39")
{
digitalWrite(led_CH1, HIGH);
Serial.println("Cartao1 - Acesso concedido!");
Serial.println();
String INSERT_SQL ="INSERT INTO database.table VALUES('0 ',"conteudo")";
if (conn.connectNonBlocking(server, server_port, user, passw) != RESULT_FAIL)
{
delay(500);
runInsert();
conn.close(); // close the connection
}
else
{
MYSQL_DISPLAY("\nConnect failed. Trying again on next iteration.");
}
delay(100);
delay(3000);
for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees
servo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
digitalWrite(led_CH1, LOW);
}
if (conteudo.substring(1) != "B0 21 A4 39")
{
Serial.println("Cartao2 - Acesso negado !!");
Serial.println();
}
delay(1000);
}
void iniciarWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("A conectar ao WiFi .");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print('.');
delay(1000);
}
Serial.println(WiFi.localIP());
}
void runInsert()
{
// Initiate the query class instance
MySQL_Query query_mem = MySQL_Query(&conn);
if (conn.connected())
{
MYSQL_DISPLAY(INSERT_SQL);
// Execute the query
// KH, check if valid before fetching
if ( !query_mem.execute(INSERT_SQL.c_str()) )
{
MYSQL_DISPLAY("Insert error");
}
else
{
MYSQL_DISPLAY("Data Inserted.");
}
}
else
{
MYSQL_DISPLAY("Disconnected from Server. Can't insert.");
}
}
Подробнее здесь: https://stackoverflow.com/questions/726 ... st-char-43
Невозможно найти строковый литерал оператора 'operator''conteudo' с аргументами 'const char [43]', 'unsigned int' ⇐ C++
Программы на C++. Форум разработчиков
1714587465
Anonymous
У меня возникла проблема с отправкой данных о переменной в базу данных MySQL. Проблема в том, что я пытаюсь отправить данные RFID с переменной.
String INSERT_SQL ="INSERT INTO database.table VALUES('0 ',"conteudo")";
Выдает эту ошибку.
unable to find string literal operator 'operator""conteudo' with 'const char [43]', 'unsigned int' arguments
Вот полный код.
#include
#include
#include
#include
#include
Servo servo;
#define SS_PIN 21
#define RST_PIN 22
MFRC522 mfrc522(SS_PIN, RST_PIN);
const char* ssid = "";
const char* password = "";
char user[] = "";
char passw[] = "";
String conteudo = "";
#define MYSQL_DEBUG_PORT Serial
#define MYSQL_LOGLEVEL 0
#define USING_HOST_NAME true
#if USING_HOST_NAME
char server[] = "";
char default_database[] = "";
char default_table[] = "";
#else
IPAddress server(192, 168, 0, 250);
#endif
uint16_t server_port = 3306;
MySQL_Connection conn((Client *)&client);
MySQL_Query *query_mem;
int led_CH1 = 14;
int pos = 0;
void setup()
{
pinMode(led_CH1, OUTPUT);
Serial.begin(115200);
while (!Serial && millis() < 5000);
SPI.begin();
iniciarWiFi();
MYSQL_DISPLAY1("Connecting to", ssid);
MYSQL_DISPLAY3("Connecting to SQL Server @", server, ", Port =", server_port);
MYSQL_DISPLAY5("User =", user, ", PW =", passw, ", DB =", default_database);
mfrc522.PCD_Init();
servo.attach(25);
servo.write(100);
Serial.println("Aproxime o seu cartao do leitor...");
Serial.println();
}
void loop()
{
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
Serial.print("UID da tag :");
byte letra;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Mensagem : ");
conteudo.toUpperCase();
if (conteudo.substring(1) == "B0 21 A4 39")
{
digitalWrite(led_CH1, HIGH);
Serial.println("Cartao1 - Acesso concedido!");
Serial.println();
String INSERT_SQL ="INSERT INTO database.table VALUES('0 ',"conteudo")";
if (conn.connectNonBlocking(server, server_port, user, passw) != RESULT_FAIL)
{
delay(500);
runInsert();
conn.close(); // close the connection
}
else
{
MYSQL_DISPLAY("\nConnect failed. Trying again on next iteration.");
}
delay(100);
delay(3000);
for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees
servo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
digitalWrite(led_CH1, LOW);
}
if (conteudo.substring(1) != "B0 21 A4 39")
{
Serial.println("Cartao2 - Acesso negado !!");
Serial.println();
}
delay(1000);
}
void iniciarWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("A conectar ao WiFi .");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print('.');
delay(1000);
}
Serial.println(WiFi.localIP());
}
void runInsert()
{
// Initiate the query class instance
MySQL_Query query_mem = MySQL_Query(&conn);
if (conn.connected())
{
MYSQL_DISPLAY(INSERT_SQL);
// Execute the query
// KH, check if valid before fetching
if ( !query_mem.execute(INSERT_SQL.c_str()) )
{
MYSQL_DISPLAY("Insert error");
}
else
{
MYSQL_DISPLAY("Data Inserted.");
}
}
else
{
MYSQL_DISPLAY("Disconnected from Server. Can't insert.");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/72697813/unable-to-find-string-literal-operator-operatorconteudo-with-const-char-43[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия