我有程序使用c和C++語言來訪問MySQL數據庫中的數據。 的代碼:c上的const char相同的變量但差異值
const char *query="SELECT * FROM myTable;";
printf("%s\n",query);
state=mysql_query(sock,query);
printf("%s\n",query);
從該代碼,查詢值從之前和之後的 '狀態' 語句是相同(SELECT * FROM myTable的)。但對於這個代碼:
const char *query=getQuery();
printf("%s\n",query);
state=mysql_query(sock,query);
printf("%s\n",query);
功能:
const char * getQuery(){
const char *returnValue;
char q[BUFSIZ];
sprintf_s(q,"%s","SELECT * FROM myTable;");
returnValue=q;
return returnValue;
}
從這個代碼,查詢值從之前和之後的 「狀態」 的聲明是不一樣的,前(SELECT * FROM mytable的)和後(1/4> -Uc^M)。
有人知道嗎?
在此先感謝。
該函數從mysql庫中執行到執行mysql的查詢。 – titia
我不知道到底發生了什麼事。 但從我的第一個代碼顯示,mysql_query()不會更改查詢。 – titia
你確定getQuery不會執行const char [] returnvalue =「SELECT * FROM myTable;」' 這會顯示你所看到的很多東西。 –