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;
}
...全文
93 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

679

社区成员

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

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