以下のコードは、MYSQLデータベースに値を挿入します。 "sprintf(クエリ、" t(d)の値(%c)にINSERT "、a);"それは私のデータベースに単語helloを挿入しません。私も上記のステートメントで(%s)を使ってみました。しかし、もし私が "sprintf(クエリ、" INSERTをt(d)の値(%d) "、b)に使用すると、値1234をデータベースに挿入します。C++を使用してMYSQLテーブルに文字を挿入
何が起こっていますか?なぜ文字や文字列をデータベースに挿入するのですか?整数だけですか?
列dがmyデータベースはchar型として定義されています。
ありがとうございました。
#include "stdafx.h"
#include <stdio.h>
#include <mysql.h>
//#include <string>
//using std::string;
//#include <atlstr.h>
MYSQL *pConnection;
MYSQL_RES *pResult=NULL;
MYSQL_ROW Row;
char Query[256];
int main(int argc, char* argv[])
{
pConnection = mysql_init(NULL);
mysql_real_connect(pConnection,"localhost","root","y123","test",0,NULL,0);
char a[] ="Hello";
int b = 1234;
printf("%s", a);
sprintf(Query, "INSERT into t(d) values (%s)", a);
mysql_query(pConnection, Query);
}
あなたはどのタイプですか?挿入しようとしていますか? – aambrozkiewicz