使用c语言连接腾讯云上的mysql数据库,连接成功后sql语句始终执行无结果,插入数据不成功。使用的是root账户,拥有全部权限,服务器上3306端口已经打开,mysql防火墙关闭,使用putty远程插入可以。
#include <stdio.h>
#include <mysql.h>
int main(int argc , char *argv)
{
MYSQLmy = mysql_init(NULL);
if(!my)
{
printf ("mysql init failed\n");
}else
{
printf("init succeed\n");
}
if(! mysql_real_connect(my ,"124.222.195.131", "root", "12345678", "text",3306, NULL, 0))
{
printf("connect error! \n");
printf("error:%s\n",mysql_error(my));
}else
{
printf("connect succed\n");
printf("version:%s\n",mysql_get_client_info());
}
const char* sql =
"insert into xiangxishujv(SHEBEI_ID,NAME,SHUZHI)values('3','ple','12.3');";
mysql_close(my);
return 0;
}
程序编译无错误,运行的话就是mysql_get_client_info()函数返回的值始终是我下载的库函数版本而不是mysql版本,使用别的代码查询数据库上的表结构和数据行列数都成功执行。然后insert into指令没有任何效果
可以向mysql数据库插入数据。
我是在本地测试的,加上sql执行语句后,本地测试插入msyql成功。代码如下:
参考链接:
利用C语言访问mysql_仟各的博客-CSDN博客_c语言 mysql
#include <stdio.h>
#include <mysql.h> //https://blog.csdn.net/weixin_35705475/article/details/113201439
//https://blog.csdn.net/m0_55004108/article/details/125342943
int main(int argc , char **argv)
{
MYSQL * my = mysql_init(NULL);
if(!my)
{
printf ("mysql init failed\n");
}else
{
printf("init succeed\n");
}
//https://www.php.cn/tool/phpmyadmin/456024.html
if(! mysql_real_connect(my ,"127.0.0.1", "root", "root", "mos",3306, NULL, 0))
{
printf("connect error! \n");
printf("error:%s\n",mysql_error(my));
}else
{
printf("connect succed\n");
printf("version:%s\n",mysql_get_client_info());
}
//https://blog.csdn.net/m0_54355780/article/details/121877561
const char* sql =
"insert into test(id,name,remark) values('1','a','test insert myql');";
int res = mysql_query(my,sql); //执行sql语句
if(res!=0){
printf("插入数据库失败:%sr\n",mysql_error(my));
}else{
printf("插入成功!\n");
}
mysql_close(my);
return 0;
}