Pre-Sales Questions
What's DbFacePHP? Why do I need it?
Please notice that: The purchased version does not require any Zend Guard Loader things.
How to evaluate DbFacePHP?
How to evaluate DbFacePHP locally?
Why I should buy a DbFacePHP license?
What types of payment do you accept?
How do I get the product, that were ordered by me?
Customer Support Questions
Can you help me to install it on my server freely?
How do I leave my feedback?
How do I get support on the product?
If I purchase the DbFacePHP Pro, Can you make modifications to it?
DbFacePHP Usage
Trial Version: The encoded file has format major ID 65540, whereas the Optimizer expects 2
What's the Form?
What's the dbfacephp application scripts mean?
''SELECT * FROM PRODUCTS WHERE PRODUCTCODE = ${productCode}''
the ${productCode} will be replaced by the form field productCode in runtime. All other SQL syntax(Insert, Update, Delete etc.) are supported too.
How to write a dbfacephp application script?
* a. ${formvariable}:
Here is a sample:
” update
products
set
productName = ${productName},
productLine = ${productLine},
productScale = ${productScale},
productVendor = ${productVendor},
quantityInStock = ${quantityInStock},
buyPrice = ${buyPrice},
MSRP = ${MSRP}
where
productCode = ${productCode}”
At runtime, the sql will convert to a prepared statement like following:
” update
products
set
productName = ?,
productLine = ?,
productScale = ?,
productVendor = ?,
quantityInStock = ?,
buyPrice = ?,
MSRP = ?
where
productCode = ?”
* b. @{formvariable}:
Prepared statement not works everytime. Sometimes, you may want just replacing the variables with the submitted data simply, this case you should use @{formvariable} tag. e.g. You want to search the customerName matches user’s input, you may notice that prepared statement not works in this case:
” SELECT
*
FROM
customers
WHERE
customers.customerName like ‘%@{customerName}%”’
If the user input ‘Wheel’ in the customerName field, tmWorks R-View will simply convert the script to following to execute:
” SELECT
*
FROM
customers
WHERE
customers.customerName like ‘%Wheel%”’
* c. #{…${formvariable}…}#:
This tag only works with Checkbox, multiSelect fields.
” SELECT
dbo.Products.ProductName,
dbo.Suppliers.CompanyName AS Supplier,
dbo.Products.UnitPrice,
dbo.Products.QuantityPerUnit,
dbo.Products.UnitsInStock,
dbo.Products.UnitsOnOrder,
dbo.Products.Discontinued
FROM
dbo.Products
INNER JOIN
dbo.Suppliers
ON
(dbo.Products.SupplierID = dbo.Suppliers.SupplierID)
WHERE
#{dbo.Products.CategoryID =${category]#”
when your submitted data contains more than one category field(e.g.3), then the script above will be converted to following to execute:
……….
” WHERE
dbo.Products.CategoryID =${category1}
AND
dbo.Products.CategoryID =${category2}
AND
dbo.Products.CategoryID =${category3}”
this tag used with the form containing checkbox, multiselect fields usually.
* d. *{…${formvariable}…}*:
This tag only works with Checkbox, multiSelect fields.
”
SELECT
dbo.Products.ProductName,
dbo.Suppliers.CompanyName AS Supplier,
dbo.Products.UnitPrice,
dbo.Products.QuantityPerUnit,
dbo.Products.UnitsInStock,
dbo.Products.UnitsOnOrder,
dbo.Products.Discontinued
FROM
dbo.Products
INNER JOIN
dbo.Suppliers
ON
(dbo.Products.SupplierID = dbo.Suppliers.SupplierID)
WHERE
*{dbo.Products.CategoryID =${category]*”
when your submitted data contains more than one category field(e.g.3), then the script above will be converted to following to execute:
……….
WHERE
dbo.Products.CategoryID =${category1}
OR
dbo.Products.CategoryID =${category2}
OR
dbo.Products.CategoryID =${category3}
this tag used with the form containing checkbox, multiselect fields usually.
What's the dbfacephp application mean?
- a. Searching Application: Querying datas from your database with or without parameters.
- b. Operation Application: Commiting general operation (inserting, updating, etc.) to the database with or without parameters.
- c. Search for updating: Querying rows from a table for updating.
- d. Chart report: Querying ruled rows from the database for Charting(Pie, Bar, Line etc.).
Security Topics
Is it security in real production environment?
In most cases, you just want to allow accessing the DbFacePHP service at some ips(at home or at work), in this case, please configure the whitelist. All ip addresses not in the whitelist will be denied to access the service. Please go to the installation directory, and open the application/config/config.php file, and find the following line:
”$config['white_list']=”;”
i.e. Edit it to
”
$config['white_list']=’192.168.0.1-192.168.0.24;211.157.2.99′;”
you may have known, only 192.168.0.1 ~ 192.168.0.24 and 211.157.2.99 allowed to access the service.