我無法得到下面的代碼工作。它使用正常的選擇或插入,但是當我嘗試插入一個變量時,它不起作用。有人可以讓我知道這裏有什麼問題嗎?C中的MYSQL API - linux
請注意輸出結果如下。
int main(int argc, char **argv)
{
MYSQL *conn;
char str[100] = "test";
conn = mysql_init(NULL);
char stmt_buf[100];
sprintf (stmt_buf, "insert into test values ('%s')", str);
printf("\n%s\n",stmt_buf);
mysql_query (conn, stmt_buf);
mysql_close(conn);
return 0;
}
~$./version
insert into test values ('test')
Segmentation fault
你應該通過GDB運行你的程序來找出它崩潰的地方。 'gdb。/ version' - >'run' – spencercw 2012-02-25 18:19:56
您是否嘗試使用所有警告和調試信息(例如gcc -Wall -g')來編譯代碼,以便改進代碼直至編譯器未給出警告爲止使用調試器(例如'gdb')? – 2012-02-25 18:21:02
我做了,但輸出沒有幫助,如下所示。程序收到信號SIGSEGV,分段故障。 0x00199634來自/usr/lib/libmysqlclient.so.16的mysql_send_query() – 2012-02-25 18:21:41