"select ORDER_DATE FROM ORDERS WHERE ORDER_NUM =" + num You cannot simply combine a character string with an integer by simply use operator +. "select ORDER_DATE FROM ORDERS WHERE ORDER_NUM =" returns an address of where character string store and if you add num to that address, it cuts num numbers of beginner characters. For example:
int main()
{
std::cout << "select ORDER_DATE FROM ORDERS WHERE ORDER_NUM =" + 3;
// OUTPUT IS: ect ORDER_DATE FROM ORDERS WHERE ORDER_NUM =
return 0;
} One of the easiest way to solve your problem is to use string class and then ask user for string input rather than integer input. Then combine the input and the SQL query together.
string sqlQuery;
cout << "Please enter a customer number: " << endl;
cin >> sqlQuery;
sqlQuery = "select ORDER_DATE FROM ORDERS WHERE ORDER_NUM = " + sqlQuery;
query_state = mysql_query(&mysql, sqlQuery.c_str()); Don't forget to include #include <string> .
I hope this will help.