0

mysqlデータベース接続を使用してacプログラムを作成していますが、mysqlクエリの作成に問題があります...

mysqlクエリで可変整数を使用したいのですが、正しく取得できないようです...

私の現在のクエリは次のようになります...

mysql_query(conn, "INSERT INTO markerherkenning (MARKER_ID, DATETIME) values(1, CURRENT_TIME())");

私のmarker_ID値は可変値でなければならないので、コードを減らすことができます...

私はこのガイドを使って私を動かしました... (http://zetcode.com/tutorials/mysqlcapitutorial)

助けてくれてありがとう

4

3 に答える 3

2

このようなもの:


sprintf(request, "INSERT INTO markerherkenning (%d, DATETIME) values(1, CURRENT_TIME())", marker_id);

最初に、sprintf (または snprintf) を使用してリクエストで文字列を作成し、それを sql クエリに使用します。

于 2011-05-09T18:19:59.977 に答える
1

これが複数回実行する必要がある場合は、準備済みステートメントを使用することをお勧めします。少し手間がかかりますが、安全性とパフォーマンスが向上します。言うまでもなく、文字列と他の型の間で常に変換する必要はありません。

于 2011-05-09T18:42:29.207 に答える
0

MARKER_ID を文字列に変換してから、それをクエリの最初の部分に追加し、残りを filanny で追加する必要があります。

char *query = malloc(80);
char num[11];

num = atoi(MARKER_ID);    

strcpy(query, "INSERT INTO markerherkenning (");
strcat(query, num);
strcat(query, ", DATETIME) values(1, CURRENT_TIME())");
于 2011-05-09T18:07:04.640 に答える