这是我试图运行的代码。它汇编得很好,直到昨天仍然很好。
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
int num_fields;
int i;
conn = mysql_init(NULL);
mysql_real_connect(conn, "hostname", "username", "password", "database_name", 0, NULL, 0);
mysql_query(conn, "SELECT * FROM tabletest");
result = mysql_store_result(conn);
num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))
{
for(i = 0; i < num_fields; i++)
{
printf("%s ", row[i] ? row[i] : "NULL");
}
printf("\n");
}
mysql_free_result(result);
mysql_close(conn);
}
请注意,mysql_real_connect()
的参数在这里是通用的隐私,但就像我说的那样,它在昨天工作。当我在编译成功后尝试运行代码时,我得到:
Segmentation fault (core dumped)
答案 0 :(得分:4)
Error 1045: Access denied for user 'username'@'ip' (using password: YES)
然后我意识到打开电脑后我的电脑IP地址发生了变化。我从来不知道这发生了。所以我不得不回到cPanel,并将我的“新”IP地址添加到MySQL的远程访问列表中,它可以工作。现在的问题是找出我的IP地址如何保持静态。
故事的寓意是始终处理错误。