程序在每次执行查询时挂起
Program hanging every time I execute a query
不知道什么原因,当程序试图执行
时崩溃了mysql_query(mysql,"CREATE TABLE writers(name VARCHAR(25))");
虽然查询被成功执行并且表被创建,但是windows报怨程序停止响应,但实际上并没有。
下面是我的main函数。
int main()
{
MYSQL* mysql;
mysql_init(mysql);
mysql_real_connect(mysql,"localhost","root","xxxx","test",0,NULL,0);
mysql_query(mysql,"CREATE TABLE writers(name VARCHAR(25))"); // 'Program stops responding' without actually crashing.
mysql_close(mysql);
getchar();
return 0;
}
你对API的使用是错误的,你正在传递一个悬浮指针给mysql_init
和不检查单个返回值。别那样做。
您可以这样转换代码:
MYSQL* mysql = mysql_init(NULL);
if (!mysql) {
// HANDLE THE ERROR
}
if (!mysql_real_connect(mysql,"localhost","root","xxxx","test",0,NULL,0)) {
// HANDLE THE ERROR
}
if (mysql_query(mysql,"CREATE TABLE writers(name VARCHAR(25))")) {
// HANDLE THE ERROR
}
mysql_close(mysql); // No error checking here, that's ok,
// it doesn't report errors
// But just for this call. All others => check.
getchar();
return 0;
相关文章:
- 挂起和取消挂起一个文件DLL
- 如何防止C++遗留代码中的挂起指针
- 为什么所有C++编译器都会崩溃或挂起此代码
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- 构建挂起,即使是适度的文件大小
- 循环挂起迭代的 std::擦除 on std::list
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
- Node.js fs.open() 在尝试打开 4 个以上的命名管道 (FIFO) 后挂起
- 从不同进程中的另一个线程挂起/恢复线程或进程
- Boost (Beast) websocket:同步写入挂起
- 为什么析构函数挂起
- 使用互斥会挂起程序
- 在C++和 Python 程序中使用命名管道的 IPC 挂起
- 设置变量时C++程序挂起
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 从stdin读取时子进程挂起(fork/dup2竞争条件)
- 有时ShowWindow从不调用OnShowWindow,主应用程序挂起
- 如何防止GUI挂起,同时允许第二次操作与Qt中的第一次操作一起执行
- CQL SELECT 查询在连接到暂存 Cassandra 服务器时挂起
- 程序在每次执行查询时挂起