#native_company# #native_desc#
#native_cta#

The opposite of mysql_fetch_assoc

By Sergiu FUNIERU
on August 31, 2006

Version: 1.2

Type: Function

Category: Databases

License: Other

Description: The mysql_fetch_assoc “converts” a row from a table into an associative array.
The mysql_insert_array “converts” an associative array into a row in a table.

<?php
	function mysql_insert_array ($my_table, $my_array) {


		// Please contact me at [email protected]
		// for any comments you wish to make. Thank you!
		// Version 1.2 
		// 31.aug..2006 12:41
		// Copyright: you may do whatever you wish (and can ;-) ) with this code

		// Find all the keys from the array $my_array
		$keys = array_keys($my_array);

		// Find the number of the keys
		$keys_number = count($keys);

		// Generate the column name for the $sql query
		$column_names = "(";
		$values = "(";

		for ($i = 0; $i < $keys_number; $i++) {
			$column_name = $keys[$i];

			// We don't add "," after the last one
			if ($i == ($keys_number - 1)) {
				$column_names .= "`$keys[$i]`";
				$values .= "'$my_array[$column_name]'";
			} else {
				$column_names .= "`$keys[$i]`" . ", ";
				$values .= "'$my_array[$column_name]'" . ", ";
			}
		}

		// Proper end the column name and the value 
		$column_names .= ")";
		$values .= ")";

		// We compose the query
		$sql = "insert into `$my_table` ";
		$sql .= $column_names;
		$sql .= ' values ';
		$sql .= $values;

		$result = mysql_query($sql);

		if ($result) 
		{
			echo "The row was added sucessfully";
			return true;
		}
		else
		{
			echo ("The row was not added<br>The error was" . mysql_error());
			return false;
		}
	}
?>

Example:
<?php

	// Include the function's code
	require_once ("mysql_insert_array.php");

	// Establish the connection with the database
	require_once ("dbconnect.php");

	// The database has one table, called `test`, created as following:
	// CREATE TABLE `test` 
	// (
	// 	`one` varchar(20) default NULL,
  	// 	`two` varchar(20) default NULL
	// ) 
	// TYPE=MyISAM;


	// We create the $row array
	$row = array (
		"one" => "first",
		"two" => "second"
	);

	// We want to insert the $row into $table
	$table = "test";

	// We insert the array into the database
	mysql_insert_array ($table, $row);
?>

The dbconnect.php:
<?php

	// *************************************************
	// 	Set User Access
	// *************************************************

	$hostname = "localhost";

	$username = " "; // Change your username
	$password = " "; // Change your password
	$database = " "; // Change your database's name

	// *************************************************
	// 	Database Connection
	// *************************************************

	$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());

	$database = mysql_select_db($database, $connection) or die(mysql_error());
?>