mysql_stmt_prepare的语法错误?

ybxuwei 2014-10-24 05:59:14
错误提示:mysql_stmt_prepare: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'I' at line 1

意思是语法错误,应该是在insert处的错误,实在不知道sql怎么不对了?代码如下,有空的大神帮看一下:
数据表的创建语句为:create table stu1(name varchar(50), age int);

#include "header.h"
#include <mysql.h>
#include <sys/time.h>

int main()
{
int i;
struct timeval tvStart, tvEnd;
MYSQL_STMT *stmt;
MYSQL_BIND bind[2];
char szSql[255] = "INSERT iNTO stu1 VALUES(?,?)";
char szStr[50] = "xuwei";
unsigned long ulLen = strlen(szStr);
int age = 24;
unsigned long ulAgeLen = 4;
MYSQL *db = mysql_init(NULL);

if(db == NULL)
{
printf("mysql_init: %s\n", mysql_error(db));
return 1;
}
if(mysql_real_connect(db, "localhost", "root", "234", "test", 0, NULL, 0) == NULL)
{
printf("mysql_real_connect: %s\n", mysql_error(db));
return 1;
}
printf("connect success\n");
if(mysql_autocommit(db, 0) != 0)
{
printf("mysql_autocommit: %s\n", mysql_error(db));
return 1;
}
gettimeofday(&tvStart, NULL);
stmt = mysql_stmt_init(db);
if(!stmt)
{
printf("mysql_mysql_init: %s\n", mysql_error(db));
return 1;
}
if(mysql_stmt_prepare(stmt, szSql, strlen(szSql) != 0))
{
printf("mysql_stmt_prepare: %s\n", mysql_stmt_error(stmt));
return 1;
}
memset(bind, 0, sizeof(bind));
bind[0].buffer_type = MYSQL_TYPE_STRING;
bind[0].buffer =(char*)(szStr);
bind[0].buffer_length = sizeof(szStr);
bind[0].is_null = 0;
bind[0].length = &ulLen;
bind[1].buffer_type = MYSQL_TYPE_LONG;
bind[1].buffer = (char*)&age;
bind[1].is_null = 0;
bind[1].length = &ulAgeLen;
if(mysql_stmt_bind_param(stmt, bind))
{
printf("mysql_stmt_bind_param: %s\n", mysql_stmt_error(stmt));
return 1;
}
for(i = 0; i < 10000; ++i)
{
if(mysql_stmt_execute(stmt) != 0)
{
printf("mysql_stmt_execute: %s\n", mysql_stmt_error(stmt));
return 1;
}
}
if(mysql_commit(db) != 0)
{
printf("mysql_commit: %s\n", mysql_error(db));
return 1;
}
gettimeofday(&tvEnd, NULL);
printf("timecost: %d\n", (tvEnd.tv_sec-tvStart.tv_sec)*1000 + (tvEnd.tv_usec-tvStart.tv_usec)/1000);
mysql_close(db);

return 0;
}
...全文
151 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
MATLAB代码实现了一个基于多种智能优化算法优化RBF神经网络的回归预测模型,其核心是通过智能优化算法自动寻找最优的RBF扩展参数(spread),以提升预测精度。 1.主要功能 多算法优化RBF网络:使用多种智能优化算法优化RBF神经网络的核心参数spread。 回归预测:对输入特征进行回归预测,适用于连续值输出问题。 性能对比:对比不同优化算法在训练集和测试集上的预测性能,绘制适应度曲线、预测对比图、误差指标柱状图等。 2.算法步骤 数据准备:导入数据,随机打乱,划分训练集和测试集(默认7:3)。 数据归一化:使用mapminmax将输入和输出归一化到[0,1]区间。 标准RBF建模:使用固定spread=100建立基准RBF模型。 智能优化循环: 调用优化算法(从指定文件夹中读取算法文件)优化spread参数。 使用优化后的spread重新训练RBF网络。 评估预测结果,保存性能指标。 结果可视化: 绘制适应度曲线、训练集/测试集预测对比图。 绘制误差指标(MAE、RMSE、MAPE、MBE)柱状图。 十种智能优化算法分别是: GWO:灰狼算法 HBA:蜜獾算法 IAO:改进天鹰优化算法,改进①:Tent混沌映射种群初始化,改进②:自适应权重 MFO:飞蛾扑火算法 MPA:海洋捕食者算法 NGO:北方苍鹰算法 OOA:鱼鹰优化算法 RTH:红尾鹰算法 WOA:鲸鱼算法 ZOA:斑马算法

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧