51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1739|回复: 2
打印 上一主题 下一主题

[原创] 求助:参数化的值带入sql语句中报错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-3-19 10:34:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 laoxin511 于 2012-3-19 10:46 编辑

我的初衷是
参数化一个值,然后要把这个值带入到sql的语句里
但是sql中直接使用{NewParam}报错
如果要用字符串复制把内容存到一个数组tmp里,然后where name="(lr_eval_string(tmp))"还是报错,去掉where语句就正常跑通
请各位帮忙研究一下
char tmp[128];
...
web_submit_data
{
...
"Name=name", "Value={NewParam}", ENDITEM,
...
}
strcpy(tmp,lr_eval_string("{NewParam}"));
lr_output_message(lr_eval_string(tmp));//这句输出后tmp值正确
sprintf(chQuery,"SELECT `status` FROM unitouchuptest.`ut_task` where name={NewParam};");   //或者where name="(lr_eval_string(tmp))"
...
错误信息Error -3: row not found 'SELECT `status` FROM unitouchuptest.`ut_task` where name=tmp;' - Unknown column 'tmp' in 'where clause'
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-3-19 11:50:31 | 只看该作者
sprintf(chQuery,"SELECT `status` FROM unitouchuptest.`ut_task` where name=%s;",lr_eval_string("{NewParam}"));
大概是这样写
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-3-19 12:32:43 | 只看该作者
回复 2# 云层


语法不对吧。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 13:51 , Processed in 0.065862 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表