Matlab urlread error within timer function: "Either this URL could not be parsed or the protocol is not supported."

2 次查看(过去 30 天)
I am using a timer function in matlab to continuously execute a certain script. Within this script, I am using urlread to retrieve data from webservices, which works like a charm.
I am now trying to use urlread to execute a simple http-request within this script to insert data into a mysql-database. Thus, I simply specify the url-string and define the value to be parsed to the php parser.
Code-within script being executed in timer-function:
db_url = 'http://someurl/update.php?value=';
db_url = strcat(db_url,num2str(value));
urlread(db_url);
clear db_url
My problem is the following: When I run the timer, it works fine for one execution, but then stops displaying the following error:
"Either this URL could not be parsed or the protocol is not supported."
What is going wrong? When I check my mysql database, I see that one new line has been added to my database, which means it generally works, just won't execute multiple times within the timer.
Any idea what is going wrong? Many thanks in advance!

采纳的回答

Benvaulter
Benvaulter 2015-6-14
I figured out what the problem was. The value variable is an array with increasing in size each iteration. Thus, what I needed to do was specify value(end), like so:
db_url = 'http://someurl/update.php?value=';
db_url = strcat(db_url,num2str(value(end)));
urlread(db_url);
clear db_url

更多回答(1 个)

Jan
Jan 2015-6-14
编辑:Jan 2015-6-14
Try to debug the code.
A short error message might be useful also:
try
urlread(db_url);
catch ME
fprintf(2, 'URLREAD Failed: %s\n', db_url);
error(ME.message);
end
Note: Variables are cleared automatically when the function is finished. Therefore the clear db_url is not useful in Matlab.

类别

Help CenterFile Exchange 中查找有关 Database Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by