gpt4 book ai didi

mysql c api mysql 查询功能不起作用

转载 作者:行者123 更新时间:2023-11-29 18:34:05 26 4
gpt4 key购买 nike

我花了 3 个小时来找出这段代码中的问题以及为什么 mysql_query 不起作用......这是我的查询:

`sprintf(quer, "INSERT INTO `tblRobotProcessQueue`(ProcessId,Protocol,SRC_IP,DST_IP,SRC_Port,DST_Port,`HostName`,`URL`,`Href`,DateAdd) VALUES(%d,%d,%d,%d,%d,%d,%s,%s,%s,%d )" ,pid*i, 6, 1234, 5345, 80, 44, "HostName", "URL", "Href", currentTime);` 
<小时/>

这是我的自定义 db_query :

int _db_query(MYSQL *mysql_conn, char* sql ) {
int ret = 0;

if ( 0 == ( ret = mysql_ping( mysql_conn ) ) ) {

if(!mysql_query( mysql_conn , sql )){
PTRACE(0,0, "mysql_query can't run");
}

printf("ret is : %d\n", ret);

//syslog ( LOG_INFO , "db_query( %u , [%s] )" , connection_id , sql );
if ( 0 != ret && NULL != mysql_error( mysql_conn ) ) {

syslog ( LOG_INFO , "Mysql query connection %s", mysql_error( mysql_conn ) );
PTRACE(0,0, "FAIL HERE IN _DB_QUERY");
}

} else {
PTRACE( 0 , 0 , "Mysql Ping Error connection %s" ,mysql_error( mysql_conn ) );

}
PTRACE(0,0, "reach to end of _db_query...\n");
return ret;
}
<小时/>

当我运行程序时,我可以看到使用 phpmysqladnin 在表中添加了一些数据
但这部分在我的终端中执行: PTRACE(0,0, "mysql_query can't run");
帮帮我吧!

最佳答案

if(!mysql_query( mysql_conn , sql )){
PTRACE(0,0, "mysql_query can't run");
}

这部分是问题所在。成功时,mysql_query 返回0;失败时,返回严格负值。因此,当函数实际成功时,您的条件会打印一条错误消息。事实上,if (!functionCall()) 实际上与 if (functionCall() == 0) 相同。

你也应该改变它:

if(mysql_query( mysql_conn , sql ) < 0){
PTRACE(0,0, "mysql_query can't run");
}

关于mysql c api mysql 查询功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45452870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com