이것은 mysql 삽입을위한 C++ 코드 조각입니다. mysql.h로 어떻게 수행하는지 예제를 발견했다. mysql에 다음을 추가 할 때까지 프로그램이 잘 돌아 간다. 나는 C++을 처음 사용하고 다른 코드에서 같은 예제를 발견했다. 단지 mysql.h 대신 mysql/mysql.h를 추가하고 -i와 -l을 추가하여 문제를 지적 할 수 없다. 웹은 여전히 운이 없다. 어떤 도움을 주시면 감사하겠습니다.mysql/mysql.h C++ 오류
#include <mysql/mysql.h>
string unknown = "Unknown"
MYSQL *conn;
conn = mysql_init(NULL);
mysql_real_connect(conn, "localhost", "root", "password", "alert", 0, NULL, 0);
mysql_query(conn, "INSERT INTO alert_tbl (alert_srcip, alert_country, alert_destip, alert_desthost, alert_destport, alert_bl) VALUES ('%s','%s','%s','%s','%s','%s')", src_ip,country_code,dest_ip,unknown,dest_prt,blip);
mysql_close(conn);
그램 ++ TEST.C -o 테스트 -lstdC++ -I는/usr/포함/mysql을 -L는/usr/lib 디렉토리/mysql을 -lmysqlclient
TEST.C : 오류 : 예상, 또는; MYSQL 전에
TEST.C : 오류 : CONN가이 범위에서 선언되지 않은
TEST.C : 오류 : CONN가이 범위에서 선언되지 않은
나는 바보 같은 느낌. 나는 사무실 공간에 대한 10 진 사건과 같은 느낌이 든다. 감사. – SP3CH8TR
mysql_query는 두 개의 매개 변수만을 사용합니다. 그런 전체 문자열을 전달하려는 경우 먼저 sprintf를 사용한 다음 결과 문자열을 전달해야합니다. 그러나 SQL 인젝션 공격 가능성이 있습니다. 매개 변수화 된 쿼리를 사용해야합니다. –