SQLPage built-in functions

In addition to normal SQL functions supported by your database, SQLPage provides a few special functions to help you extract data from user requests.

These functions are special, because they are not executed inside your database, but by SQLPage itself before sending the query to your database. Thus, they require all the parameters to be known at the time the query is sent to your database. Function parameters cannot reference columns from the rest of your query. The only case when you can call a SQLPage function with a parameter that is not a constant is when it appears at the top level of a SELECT statement. For example, SELECT sqlpage.url_encode(url) FROM t is allowed because SQLPage can execute SELECT url FROM t and then apply the url_encode function to each value.

The sqlpage.uploaded_file_mime_type function

Introduced in SQLPage 0.18.0.

Returns the MIME type of an uploaded file.

Example: handling a picture upload

When letting the user upload a picture, you may want to check that the uploaded file is indeed an image.

select 'redirect' as component, 
       'invalid_file.sql' as link
where sqlpage.uploaded_file_mime_type('myfile') not like 'image/%';

In invalid_file.sql, you can display an error message to the user:

select 'alert' as component, 'Error' as title,
    'Invalid file type' as description,
    'alert-circle' as icon, 'red' as color;

Example: white-listing file types

You could have a database table containing the allowed MIME types, and check that the uploaded file is of one of those types:

select 'redirect' as component, 
       'invalid_file.sql' as link
where sqlpage.uploaded_file_mime_type('myfile') not in (select mime_type from allowed_mime_types);

Parameters

name

Name of the file input field in the form.