Pre-Sales Questions

Q: What's DbFacePHP? Why do I need it?

A: DbFacePHP for MySQL (DbFacePHP) provides you control and use MySQL databases without coding over the World Wide Web. If you are administrating or use a MySQL database, you may find DbFacePHP make your life easy.

Q: How to evaluate DbFacePHP?

A: We recommend you try the online demo here. Or, you can download the trial version and install to evaluate DbFacePHP locally.

Q: How to evaluate DbFacePHP locally?

A: Please download the trial version here, and follow the installation instructions on this page.

Q: Why I should buy a DbFacePHP license?

A: With DbFacePHP Pro license, You get: Run with or without Zend Optimizer at your pleasure; One-Year FREE Updates; Lifetime free email support; Excellent functionality and much more…

Q: What types of payment do you accept?

A: We accept credit card, debit card or paypal payments. Check out here.

Q: How do I get the product, that were ordered by me?

A: After the payment received, you will be redirected to a page that you can download the full version. This full version page will be always available for you, you can download the full version at anytime ( for reinstallation etc.).

Customer Support Questions

Q: Can you help me to install it on my server freely?

A: Yes, we can help you to install DbFacePHP on your server freely after the order received.

Q: How do I leave my feedback?

A: We appreciate any suggestions, questions and bug reports regarding our software. You can post your thread in our forum or mail to support@tmworks.org.

Q: How do I get support on the product?

A: We currently only offer electronic support via email. E-mail support questions are answered within 12 hours of their receipt. If you feel you have been waiting for a response longer than necessary, please let us know in writing via e-mail so we can correct the problem.

Q: If I purchase the DbFacePHP Pro, Can you make modifications to it?

A: Yes, we have many clients come to us to modify and upgrade their products, but you have to contact us to discuss the details of modifications you need. Click here to buy our Priority Custom Service for DbFacePHP Pro.

DbFacePHP Usage

Q: What's the Form?

A: As a kind of user interface, form may contains TextField, TextArea, Droplist, Radio and many other fields. Generally speaking, You fill out a form and click the “submit” or “execute” button to get a result set or execute a script. DbFacePHP provides a GUI based builder to help you create a form only doing some mouse clicks.

Q: What's the dbfacephp application scripts mean?

A: DbFacePHP application script is a sql-little-modification language, the only difference between them is that, the script can use “Form variables”. e.g. If a application has a form containing a field named “productCode”, then you can write the script like this:

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.

Q: How to write a dbfacephp application script?

A: Writing a DbFacePHP script is the same as a SQL script. DbFacePHP provides you Query Builder and DML Builder to help you build a querying and DML SQL scripts. You can inserting the form variables to the sql scripts to build a DbFacePHP script. There are four kinds tags that DbFacePHP script supported:

  • 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.

Q: What's the dbfacephp application mean?

A: A DbFacePHP application usually contains a Form(which you can input something) and a DbFacePHP application scripts(Which affected to your database with your input). There are four kinds application flow that DbFacePHP supported:

  • 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

Q: Is it security in real production environment?

A: DbFacePHP does not apply any special security methods to the MySQL database server. It is still the system administrator's job to grant permissions on the MySQL databases properly.

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.

 
faq.txt · Last modified: 2010/02/07 11:53 by admin