上一篇博客我们讲了c语言如何连接使用mysql数据库;
但是我发现有很多时候往往会事与愿违;
今天我们来补充一些小知识;
补充:
关于连接数据库我们在这里就不多说了,因为这要照着上一篇博客的函数进行调用就好了;我们先来说一下什么时候函数调用成功了?
1.函数什么时候会成功
我们使用数据库无非就是增删改查那么我们根据什么来判断我们查询到了数据呢;
例如:
我们想在user_data
这张数据表中查询一个账号为20000
的用户我们应该调用
mysql_query(&mysql, "select *from user_data where account = 20000")
大家会认为如果这张表中没有这个数据那么就会报错返回错误;事实上到底是不是呢,我们来看一下;
大家可以看到我们这张表里确实没有account = 2000
的用户,现在我们调用上面的语句;
事实上他并没有报错,而且成功返回了;所以小伙伴们想要通过mysql_query()
就判断表中有没有数据是万万不可能的;
那我们要怎么样判断呢?
NYSQL_RES *result = mysql_store_result(MYSQL *mysql)
通过这个总可以了吧;
答案是不可以的因为我们通过上面那个图可以清楚地看到当我们执行了错误的语句以后,他显示了一行表头;
result
里面这个时候可不是空的,他是有表头这个数据的;
所以当我们想要查询一个数据在不在这张数据表中必需要使用
MYSQL_ROW = mysql_fetch_row(MYSQL_RES *result)
他会返回数据的第一行,如果没有数据row
就为NULL
;