Subscribe to our news
Partners
Customers

# Oracle PHP Generator FAQ

You are welcome to look through the following Frequently Asked Questions list for getting to know the answers to the most commonly asked questions about Oracle PHP Generator.

If you want to ask a question which is not in the list you may apply to our support team.

What is Oracle PHP Generator?
Oracle PHP Generator is a powerful Oracle GUI frontend that allows you to generate PHP scripts for working with tables, views and queries through the web. The final scripts provide all the features you would expect from a professional web database application: data navigation, data editing, sorting, filtering, exporting, etc.
Would it be possible to take a look at a sample web application built by this tool?
Yes, certainly. Enjoy our online demo. Also you can download the appropriate project file to get familiar with lots of the Oracle PHP Generator features.
What is the difference between Freeware and Professional versions of Oracle PHP Generator?
Please find all the differences in the feature matrix.
How to send a bug report from the program?

To send a bug report, click the More button at the bottom of the main window, then select the appropriate command from the menu, describe the issue and press the Send report button in the dialog window to send the prepared report with your default email client.

If you have any problem sending the report directly from Oracle PHP Generator, you can save it to a file and then send that file to support@sqlmaestro.com as an email attachment.

Is it possible to get a list of changes made in the minor versions?
Yes, please find a complete changelog here.
How can I save my work between Oracle PHP Generator sessions?
Click the More button at the last wizard step and select the Save Project item to save the current configuration.
Oracle PHP Generator allows to provide the created application with your own style by setting the header and the footer for all webpages. Moreover, you can specify the look of each created webpage including the location and the type of each control. The corresponding article describes the basic principles of the appearance adjustment.
Is it possible to edit php code generated by Oracle PHP Generator?
Of course you can modify the generated code but, unfortunately, we have no possibility to provide any support on this.
I installed Oracle PHP Generator and generated a first script, but it produces just a blank page.

Add the following lines into the generated .php file (immediatelly after <?php):

Listing 1.
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', 'On');

Then run your script again to see a more useful error message.

Is it possible to execute a custom SQL query from an event handler?
Yes, it is possible for server side events (PHP code). Currently you can use the following calls:

To execute a query that does not return results:

Listing 2.
$this->GetConnection()->ExecSQL('INSERT INTO ...'); To execute a query that returns a single value: Listing 3. $one = $this->GetConnection()->ExecScalarSQL('SELECT 1'); To execute a query that returns a result set: Listing 4. $values = array();
$this->GetConnection()->ExecQueryToArray('SELECT 1 as a UNION SELECT 2 as a',$values);
// $values[0]['a'] == 1; //$values[1]['a'] == 2;
After uploading of a generated project on my webserver I came up with this kind of error: Parse error: syntax error, unexpected T_OBJECT_OPERATOR in my_page.php on line XX.
The code produced by PHP Generator requires PHP 5. Please make sure that you have installed the correct PHP version on your webserver.
When I try to access a generated PHP script file via my browser, I get the following error message: Warning: include(templates_c\%%56^567^567072C6%%page.tpl.php) [function.include]: failed to open stream: No such file or directory in \libs\smartylibs\Smarty.class.php on line 1152.

Make sure that both templates_c folder and PHP temporary folder (session.save_path directive in php.ini) are writable by the web server user.

To determine which user account is used by Internet Information Services (IIS), follow these steps:

1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "OK";
2. Expand the list of web sites under the "Web Sites" node in the tree view, right-click on a web site that is being used and select "Properties";
3. Click the "Directory Security" tab;
4. Take note of a "User name:" field in the "Authentication Methods" dialog.

Does your software support lookup options?

Yes, it does. Moreover, lookup menus are generated automatically if your database contains the appropriate foreign key constraints.

Is it possible to handle many-to-many relationships with Oracle PHP Generator?
Yes. Details are covered in the corresponding article.
What environment variables can I use in events (templates)?
To obtain a complete list of supported variables, uncomment the define('SHOW_VARIABLES', 1); line in the generated settings.php file.
How can I determine the total number of records in the table/view/query using a PHP script created with your product?

Use the mouse hint for the page numbering area:

Can I incorporate features provided by a third-party library in the script created by Oracle PHP Generator?
Yes, PHP Generator allows you to activate third-party components. Find out details in the corresponding article.
How can I supply pages created by Oracle PHP Generator with look and feel of an existing website?
Is there a way to add a new action link or button to link to a custom php page?

The current version of MS SQL PHP Generator doesn't support such feature directly, but there is a simple workaround: you can replace the original content of an existing data column with the required link or button using the OnCustomRenderColumn event. For example, to display the "Do something" link referencing to the dosomething.php script file instead of the original data stored in the 'data_field' column, specify the event body as follows:

Listing 5.
if ($fieldName == 'data_field') {$customText = '<a href="dosomething.php?id=' .$rowData['id'] .'">Do something</a>';$handled = true;
}

In case your table has no column to replace, create a custom query based on this table with an additional stub column.

Probably more convenient support for command buttons will be implemented within one of the next releases.

How to add new links to the navbar Page list of a webpage created with PHP Generator?
To add a new link, open the generated .php file corresponding to the webpage and add the following code to the GetPageList() function body:

Listing 6.
$result->AddPage(new PageLink($this->RenderText('My Page name'), 'http://my_webpage.com',
$this->RenderText('My Page description'), false)); The result web page is shown below: Is it possible to use variables within the lookup filter condition? Yes. The correct syntax is as follows: owner_id = %CURRENT_USER_ID%. I got the following error message: DateTime::__construct() [datetime.--construct]: Failed to parse time string at position 6: Unexpected character. You have to specify the correct time zone in the php.ini file as described in the PHP manual. I want to send an email notification after a user inserts or updates a record. Export to PDF does not work for me as I got the following error message: Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes) in path_to_file\pdf_renderer.php on line Z. I have a table with a column storing values computed from an expression that use other columns in the same table. How can I use OnbeforeInsertRecord and OnBeforeUpdateRecord events to add the values automatically? Suppose, you have a table with the 'totalcost' column which values are calculated using the 'unit_cost' and 'quantity' column values. To fill the column automatically, use the following code at the OnBeforeInsertRecord and OnBeforeUpdateRecord events: Listing 7. $rowData['totalcost'] = $rowData['unit_cost'] *$rowData['quantity'];

What is the correct syntax for items containing spaces in Combobox and Radio Group editors?
It is as follows: "stored value 1=display value 1","stored value 2=display value 2". For example, 1=Small,2=Large,"3=Extra large".
Which Oracle database server versions are supported by your software?
Oracle PHP Generator can be used with any Oracle database server starting from version 8i. The Express Edition is supported too.
I'm getting the "ORA-12154: TNS:could not resolve the connect identifier specified" error connecting to a database.
• Make sure that "TNSNAMES" is listed as one of the values of the NAMES.DIRECTORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).
• Verify that a TNSNAMES.ORA file exists and is in the proper directory and is accessible.
• Check that the net service name used as the connect identifier exists in the TNSNAMES.ORA file.
• Make sure there are no syntax errors anywhere in the TNSNAMES.ORA file. Look for unmatched parentheses or stray characters. Errors in a TNSNAMES.ORA file may make it unusable.
For more details, visit http://ora-12154.ora-code.com/.
I keep on getting the "ORA-XYZAB" error.
I'm getting the "Initialization error Could not locate OCI dll" error message connecting to a database.

First of all, please make sure that you have installed an Oracle client software. Next, you can either copy Oracle libraries from ORAHOME folder to ORAHOME\bin one as described here or specify the OCI.dll location in the command line (for example, changing a desktop shortcut) as follows:

OracleMaestro.exe OCIDLL=<full_path_to_oci.dll>

Example:
OracleMaestro.exe OCIDLL=C:\oraclexe\app\oracle\product\10.2.0\server\BIN\oci.dll

After uploading a project on my webserver I came up with this kind of error: Parse error: syntax error, unexpected T_OBJECT_OPERATOR in path\to\project\web\index.php on line 12?
The code produced by PHP Generator requires PHP 5. Please make sure that you have installed the correct PHP version on your webserver.
How can I find out the date of my current product version release?
Product versions are formalized according to the date of release. For more information apply to the corresponding news item.
I am getting the following error when I try to run the php script to load the table data: "Data retrieval errors: Could not connect to : oci8 extension is not supported".

To work with prepared PHP scripts, you need to have the installed OCI8 PHP extension. It is not necessary to be an expert on PHP to enable the extension; moreover, you will not be able to run any Oracle PHP application without this procedure (not only ones produced by PHP Generator). Some useful information is available at the Oracle FAQ and, of course, at the OCI8 Installation Guide. There is also a free book from Oracle. As soon as you get worked the first example, you will also get worked the apps generated by our software.

How it is possible to speed up metadata refreshing at the second step of the wizard?

You can create a new user that can access only tables from certain schemas and connect to the database under that user. We're going to provide a more comfortable way in one of the next versions of the software.