예외가 throw됨: 읽기 액세스 위반입니다. row이(가) nullptr였습니다.

조회수 863회

제목과 같이 다음 코드를 실행하게 되면 오류가 납니다. 대체 어디가 문제인건가요?

#pragma comment(lib, "libmySQL.lib")
#pragma comment(lib, "ws2_32.lib")

#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
#include <my_global.h>
#include <mysql.h>

using namespace std;

int main(int argc, char** argv) {
    string str_query;
    string input_stuff;
    int stuff_cnt;

    MYSQL* conn;
    MYSQL_RES* res;
    MYSQL_ROW row;
    int num_fields;

    char* server = "localhost";
    char* user = "root";
    char* password = "mirim2"; //root계정 비밀번호
    char* database = "procpluse"; //005강에서 생성한 데이터베이스
    int port = 3306;

    conn = mysql_init(NULL);

    if (!mysql_real_connect(conn, server, user, password, database, port, NULL, 0)) {
        fprintf(stderr, "%s ", mysql_error(conn));
        exit(1);
    }

    cout << "상품을 적어주세요 : ";
    cin >> input_stuff;

    cout << "상품의 개수를 적어주세요 : ";
    cin >> stuff_cnt;

    str_query = "select cost from suff where name='";
    str_query += input_stuff;
    str_query += "'";

    if (mysql_query(conn, str_query.c_str())) {
        fprintf(stderr, "%s ", mysql_error(conn));
        exit(1);
    }

    res = mysql_use_result(conn);
    num_fields = mysql_num_fields(res);
    row = mysql_fetch_row(res);

    printf("총 가격 : %d", atoi(row[0]) * stuff_cnt);

    mysql_close(conn);
}

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)