2017-07-28 61 views
0

所以我正在一个laravel项目中,我将一些数据传递给matlab,然后matlab会编辑它们..除了我写的matlab函数以外,一切正常。sql查询不正常在matlab上工作

function show(a) 
econ=database('datamining','root',''); 
curs=exec(con,'SELECT name FROM dataset_choices WHERE id = a'); 
curs = fetch(curs); 
curs.Data 
end 

我想这个函数显示用户选择的数据集的名称..问题是,它没有工作写只是在哪里id = a ...但是如果我写例如id = 1它的作品.. 我试图只显示a显示(a)看看什么是a的价值,它是存储正确的用户有选择..我如何使用它在我的查询?

+0

是您的一个变量的字符串或双? – Flynn

+0

@Flynn整数..它存储表的ID – daenerysTarg

+0

你需要使用['sprintf'](https://www.mathworks.com/help/matlab/ref/sprintf.html)来建立你的查询字符串。请注意,这可能会造成巨大的安全漏洞。 – excaza

回答

0

尝试:

a = num2str(a); % or make sure the user inputs a string instead 
curs=exec(con,['SELECT name FROM dataset_choices WHERE id = ',a]); 

如果= '1',然后括号将打印: '选择的名字从dataset_choices WHERE ID = 1'

+0

谢谢你谢谢谢谢你:D它工作! – daenerysTarg

+0

太棒了!很高兴我能帮上忙 – Flynn