# mSQL Functions

## Introduction

These functions allow you to access mSQL database servers. More information about mSQL can be found at » http://www.hughes.com.au/.

## Installation

In order to have these functions available, you must compile PHP with msql support by using the --with-msql[=DIR] option. DIR is the mSQL base install directory, defaults to /usr/local/msql3.

> Note: Note to Win32 Users In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: msql.dll

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

mSQL configuration options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |

For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

Here's a short explanation of the configuration directives.

`msql.allow_persistent` boolean

  Whether to allow persistent mSQL connections.

`msql.max_persistent` integer

  The maximum number of persistent mSQL connections per process.

`msql.max_links` integer

  The maximum number of mSQL connections per process, including persistent connections.

## Resource Types

There are two resource types used in the mSQL module. The first one is the link identifier for a database connection, the second a resource which holds the result of a query.

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`MSQL_ASSOC` (integer)
`MSQL_NUM` (integer)
`MSQL_BOTH` (integer)

## Examples

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a mSQL database.

Example#1 mSQL usage example

`<?php
/* Connecting, selecting database */
$link = msql_connect('localhost', 'username', 'password')
or die('Could not connect : ' . msql_error($link));
msql_select_db('database', $link)
or die('Could not select database');
/* Issue SQL query */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Query failed : ' . msql_error());
/* Printing results in HTML */
echo "<table>\n";
while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($row as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
/* Free result set */
msql_free_result($result);
/* Close connection */
msql_close($link);
?>`

## Table of Contents

- msql_affected_rows — Returns number of affected rows
- msql_close — Close mSQL connection
- msql_connect — Open mSQL connection
- msql_create_db — Create mSQL database
- msql_createdb — Alias of msql_create_db
- msql_data_seek — Move internal row pointer
- msql_db_query — Send mSQL query
- msql_dbname — Alias of msql_result
- msql_drop_db — Drop (delete) mSQL database
- msql_error — Returns error message of last msql call
- msql_fetch_array — Fetch row as array
- msql_fetch_field — Get field information
- msql_fetch_object — Fetch row as object
- msql_fetch_row — Get row as enumerated array
- msql_field_flags — Get field flags
- msql_field_len — Get field length
- msql_field_name — Get the name of the specified field in a result
- msql_field_seek — Set field offset
- msql_field_table — Get table name for field
- msql_field_type — Get field type
- msql_fieldflags — Alias of msql_field_flags
- msql_fieldlen — Alias of msql_field_len
- msql_fieldname — Alias of msql_field_name
- msql_fieldtable — Alias of msql_field_table
- msql_fieldtype — Alias of msql_field_type
- msql_free_result — Free result memory
- msql_list_dbs — List mSQL databases on server
- msql_list_fields — List result fields
- msql_list_tables — List tables in an mSQL database
- msql_num_fields — Get number of fields in result
- msql_num_rows — Get number of rows in result
- msql_numfields — Alias of msql_num_fields
- msql_numrows — Alias of msql_num_rows
- msql_pconnect — Open persistent mSQL connection
- msql_query — Send mSQL query
- msql_regcase — Alias of sql_regcase
- msql_result — Get result data
- msql_select_db — Select mSQL database
- msql_tablename — Alias of msql_result
- msql — Alias of msql_db_query