<?php
/**
* @ignore
*/
/**
* @ignore
*/
require_once('data.mysql5.lib.php');
echo "Connecting to database...\n";
$DB->connect();
$DB->selectSchema('test');
echo "Creating test table...\n";
$DB->query('DROP TABLE IF EXISTS `test_table`');
$DB->query('
CREATE TABLE `test_table` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL,
`value` varchar(80) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
)
');
echo "Insert rows.\n";
$DB['test_table'][] = array(
'name' => 'first',
'value' => 'the first row'
);
$DB['test_table'][] = array(
'name' => 'second',
'value' => 'the second row'
);
$DB['test_table'][] = array(
'name' => 'third',
'value' => 'the third row'
);
echo "for loop:\n";
for ($i = 0; $i < count($DB['test_table']); $i++) {
$row = $DB['test_table'][$i];
echo " $i: {$row['id']}, {$row['name']}, {$row['value']}\n";
}
echo "foreach loop:\n";
foreach ($DB['test_table'] as $i => $row) {
echo " $i: {$row['id']}, {$row['name']}, {$row['value']}\n";
}
echo "Modify rows...\n";
echo " by int primary key, field access.\n";
$DB['test_table']->byId['2']['value'] = '2nd';
$row = $DB['test_table']->byId['2'];
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo " by string unique field, field access.\n";
$DB['test_table']['third']['value'] = '3rd';
$row = $DB['test_table']['third'];
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo " by int primary key, row access.\n";
$DB['test_table']->byId['2'] = array('value' => 'second value');
$row = $DB['test_table']->byId['2'];
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo " by string unique field, row access.\n";
$DB['test_table']['third'] = array('value' => 'third value');
$row = $DB['test_table']['third'];
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo "Clone row...\n";
$clone = clone $DB['test_table']['first'];
$clone['id'] = null;
$clone['name'] = 'fourth';
$clone['value'] = 'fourth value';
$row = $DB['test_table']['first'];
echo " {$clone['id']}, {$clone['name']}, {$clone['value']}\n";
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo "Insert clone...\n";
$DB['test_table'][] = $clone;
echo " {$clone['id']}, {$clone['name']}, {$clone['value']}\n";
echo "Modify row by cloning...\n";
echo " by string unique field.\n";
$clone = clone $DB['test_table']['second'];
$clone['value'] = 'second value';
$DB['test_table']['second'] = $clone;
$row = $DB['test_table']['second'];
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo " by int primary key.\n";
$clone = clone $DB['test_table']->byId['1'];
$clone['value'] = 'first value';
$DB['test_table']->byId['1'] = $clone;
$row = $DB['test_table']->byId['1'];
echo " {$row['id']}, {$row['name']}, {$row['value']}\n";
echo "Delete rows...\n";
echo " by int primary key.\n";
unset($DB['test_table']->byId['1']);
try {
$row = $DB['test_table']->byId['1'];
} catch (DATA_RowDoesntExist $e) {
echo " row deleted.\n";
}
echo " by string unique field.\n";
unset($DB['test_table']['third']);
try {
$row = $DB['test_table']['third'];
} catch (DATA_RowDoesntExist $e) {
echo " row deleted.\n";
}
?>
|