有誰知道爲什麼在運行時以下會導致分段錯誤?當連接到MySQL數據庫時出現分段錯誤c
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
printf("MySQL client version : %s\n", mysql_get_client_info());
MYSQL *conn=NULL;
mysql_init(conn);
char *server = "localhost";
char *user = "root";
char *password = "pass";
char *database = "weather";
char *table ="room_temp";
char *tst_qry="INSERT INTO `weather`.`room_temp` (`idx`, `date`, `temperature`) VALUES (NULL, CURRENT_TIMESTAMP, '10')";
mysql_real_connect(conn, server, user, password, database, 0, NULL, 0);
}
我遵守如下
gcc -o mysql $(mysql_config --cflags) mysql.c $(mysql_config --libs)
輸出結果如下,
MySQL client version : 5.5.31
Segmentation fault
請幫幫忙!
你傳遞一個空指針作爲第一個參數'mysql_real_connect' 。 –
我認爲這是正確的。這樣做,而不是'MYSQL連接; mysql_init(&conn); mysql_real_connect(&conn,服務器,用戶,密碼,數據庫,0,NULL,0);' – KeepCalmAndCarryOn