CoreLibs DB\IO params methods
This commit is contained in:
@@ -57,7 +57,7 @@ echo "DB_CONFIG_SET constant: <pre>" . print_r(DB_CONFIG, true) . "</pre><br>";
|
||||
print "DB client encoding: " . $db->dbGetEncoding() . "<br>";
|
||||
print "DB search path: " . $db->dbGetSchema() . "<br>";
|
||||
|
||||
$to_db_version = '13.6';
|
||||
$to_db_version = '15.2';
|
||||
print "VERSION DB: " . $db->dbVersion() . "<br>";
|
||||
print "VERSION LONG DB: " . $db->dbVersionInfo('server', false) . "<br>";
|
||||
print "VERSION NUMERIC DB: " . $db->dbVersionNumeric() . "<br>";
|
||||
@@ -167,15 +167,28 @@ print "DIRECT INSERT PREVIOUS INSERTED: "
|
||||
. print_r($db->dbReturnRow("SELECT test_foo_id, test FROM test_foo "
|
||||
. "WHERE test_foo_id = " . (int)$last_insert_pk), true) . "<br>";
|
||||
$__last_insert_pk = (int)$last_insert_pk;
|
||||
$q = <<<EOM
|
||||
$query = <<<EOM
|
||||
SELECT
|
||||
test_foo_id, test
|
||||
FROM test_foo
|
||||
WHERE test_foo_id = $__last_insert_pk;
|
||||
EOM;
|
||||
print "EOM READ OF PREVIOUS INSERTED: " . print_r($db->dbReturnRow($query), true) . "<br>";
|
||||
print "LAST ERROR: " . $db->dbGetLastError() . "<br>";
|
||||
print "<br>";
|
||||
$query = <<<EOM
|
||||
SELECT
|
||||
test_foo_id, test
|
||||
FROM test_foo
|
||||
WHERE test_foo_id = $__last_insert_pk;
|
||||
WHERE test_foo_id = $1;
|
||||
EOM;
|
||||
print "EOM READ OF PREVIOUS INSERTED: " . print_r($db->dbReturnRow($q), true) . "<br>";
|
||||
print "LAST ERROR: " . $db->dbGetLastError() . "<br>";
|
||||
print "<br>";
|
||||
print "RETURN ROW PARAMS: " . print_r(
|
||||
$db->dbReturnRowParams(
|
||||
$query,
|
||||
[$__last_insert_pk]
|
||||
),
|
||||
true
|
||||
) . "<br>";
|
||||
|
||||
// PREPARED INSERT
|
||||
$db->dbPrepare("ins_test_foo", "INSERT INTO test_foo (test) VALUES ($1) RETURNING test");
|
||||
@@ -196,7 +209,9 @@ foreach (['pk_name', 'count', 'query', 'returning_id'] as $key) {
|
||||
}
|
||||
|
||||
$query = <<<EOM
|
||||
INSERT INTO test_foo (
|
||||
INSERT INTO
|
||||
test_foo
|
||||
(
|
||||
test
|
||||
) VALUES (
|
||||
$1
|
||||
@@ -211,6 +226,55 @@ print "EOM STRING PREPARE INSERT[ins_test_foo_eom] STATUS: " . Support::printToS
|
||||
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
|
||||
. "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true) . "<br>";
|
||||
|
||||
$status = $db->dbExecParams($query, ['EOM BAR TEST PARAMS ' . time()]);
|
||||
print "EOM STRING EXEC PARAMS INSERT[ins_test_foo_eom] STATUS: " . Support::printToString($status) . " |<br>"
|
||||
. " |<br>"
|
||||
. "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
|
||||
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
|
||||
. "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true) . "<br>";
|
||||
|
||||
$query = <<<EOM
|
||||
INSERT INTO
|
||||
test_foo
|
||||
(
|
||||
test, some_bool, string_a, number_a, number_a_numeric, some_time
|
||||
) VALUES (
|
||||
$1, $2, $3, $4, $5, $6
|
||||
)
|
||||
RETURNING test
|
||||
EOM;
|
||||
$status = $db->dbExecParams(
|
||||
$query,
|
||||
[
|
||||
'EOM BAR TEST PARAMS MULTI ' . time(),
|
||||
true,
|
||||
'string a',
|
||||
1,
|
||||
1.5,
|
||||
'1h'
|
||||
]
|
||||
);
|
||||
$__last_insert_id = $db->dbGetInsertPK();
|
||||
print "EOM STRING EXEC PARAMS MULTI INSERT[ins_test_foo_eom] STATUS: " . Support::printToString($status) . " |<br>"
|
||||
. " |<br>"
|
||||
. "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
|
||||
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
|
||||
. "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true) . "<br>";
|
||||
$query = <<<EOM
|
||||
SELECT
|
||||
test, some_bool, string_a, number_a, number_a_numeric, some_time
|
||||
FROM
|
||||
test_foo
|
||||
WHERE
|
||||
test_foo_id = $1
|
||||
EOM;
|
||||
print "EOM STRING EXEC RETURN TEST: " . print_r(
|
||||
$db->dbReturnRowParams(
|
||||
$query,
|
||||
[$__last_insert_id]
|
||||
)
|
||||
) . "<br>";
|
||||
|
||||
// returning test with multiple entries
|
||||
// $status = $db->db_exec(
|
||||
// "INSERT INTO test_foo (test) VALUES "
|
||||
@@ -276,6 +340,7 @@ print "UPDATE WITH PK " . Support::printToString($last_insert_pk)
|
||||
. "QUERY: " . $db->dbGetQuery() . " |<br>"
|
||||
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
|
||||
. "RETURNING ARRAY: " . print_r($db->dbGetReturningArray(), true) . "<br>";
|
||||
$db->dbExec("INSERT INTO test_foo (test) VALUES ('STAND ALONE')");
|
||||
|
||||
// INSERT WITH NO RETURNING
|
||||
$status = $db->dbExec("INSERT INTO test_foobar (type, integer) VALUES ('WITHOUT DATA', 456)");
|
||||
@@ -294,6 +359,7 @@ print "INSERT WITH NO PRIMARY KEY WITH RETURNING STATUS: " . Support::printToStr
|
||||
|
||||
print "</pre>";
|
||||
|
||||
print "<b>PREPARE QUERIES</b><br>";
|
||||
// READ PREPARE
|
||||
$q_prep = "SELECT test_foo_id, test, some_bool, string_a, number_a, "
|
||||
. "number_a_numeric, some_time "
|
||||
@@ -303,13 +369,12 @@ $q_prep = "SELECT test_foo_id, test, some_bool, string_a, number_a, "
|
||||
if ($db->dbPrepare('sel_test_foo', $q_prep) === false) {
|
||||
print "Error in sel_test_foo prepare<br>";
|
||||
} else {
|
||||
$max_rows = 6;
|
||||
// do not run this in dbFetchArray directly as
|
||||
// dbFetchArray(dbExecute(...))
|
||||
// this will end in an endless loop
|
||||
$cursor = $db->dbExecute('sel_test_foo', []);
|
||||
$i = 1;
|
||||
while (($res = $db->dbFetchArray($cursor, true)) !== false) {
|
||||
$cursor = $db->dbExecute('sel_test_foo', ['SOMETHING DIFFERENT']);
|
||||
while (is_array($res = $db->dbFetchArray($cursor, true))) {
|
||||
print "DB PREP EXEC FETCH ARR: " . $i . ": <pre>" . print_r($res, true) . "</pre><br>";
|
||||
$i++;
|
||||
}
|
||||
@@ -322,6 +387,37 @@ if ($db->dbPrepare('sel_test_foo', $q_prep) === false) {
|
||||
. "<pre>" . print_r($db->dbGetCombinedErrorHistory(), true) . "</pre><br>";
|
||||
}
|
||||
|
||||
// sel test with ANY () type
|
||||
$q_prep = "SELECT test_foo_id, test, some_bool, string_a, number_a, "
|
||||
. "number_a_numeric, some_time "
|
||||
. "FROM test_foo "
|
||||
. "WHERE test = ANY($1) "
|
||||
. "ORDER BY test_foo_id DESC LIMIT 5";
|
||||
if ($db->dbPrepare('sel_test_foo_any', $q_prep) === false) {
|
||||
print "Error in sel_test_foo_any prepare<br>";
|
||||
} else {
|
||||
// do not run this in dbFetchArray directly as
|
||||
// dbFetchArray(dbExecute(...))
|
||||
// this will end in an endless loop
|
||||
$values = [
|
||||
'SOMETHING DIFFERENT',
|
||||
'STAND ALONE',
|
||||
'I DO NOT EXIST'
|
||||
];
|
||||
$query_value = '{'
|
||||
. join(',', $values)
|
||||
. '}';
|
||||
print "Read: $query_value<br>";
|
||||
$cursor = $db->dbExecute('sel_test_foo_any', [
|
||||
$query_value
|
||||
]);
|
||||
$i = 1;
|
||||
while (($res = $db->dbFetchArray($cursor, true)) !== false) {
|
||||
print "DB PREP EXEC FETCH ANY ARR: " . $i . ": <pre>" . print_r($res, true) . "</pre><br>";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
echo "<hr>";
|
||||
print "EOM STYLE STRINGS<br>";
|
||||
$test_bar = $db->dbEscapeLiteral('SOMETHING DIFFERENT');
|
||||
@@ -338,6 +434,21 @@ while (is_array($res = $db->dbReturn($q))) {
|
||||
print "ROW: <pre>" . print_r($res, true) . "</pre><br>";
|
||||
}
|
||||
echo "<hr>";
|
||||
print "DB RETURN PARAMS<br>";
|
||||
$q = <<<EOM
|
||||
SELECT test_foo_id, test, some_bool, string_a, number_a,
|
||||
-- comment
|
||||
number_a_numeric, some_time
|
||||
FROM test_foo
|
||||
WHERE test = $1
|
||||
ORDER BY test_foo_id DESC LIMIT 5
|
||||
EOM;
|
||||
while (
|
||||
is_array($res = $db->dbReturnParams($q, ['SOMETHING DIFFERENT']))
|
||||
) {
|
||||
print "ROW: <pre>" . print_r($res, true) . "</pre><br>";
|
||||
}
|
||||
echo "<hr>";
|
||||
|
||||
// NOTE: try to replacate connection still exists if script is run a second time
|
||||
// open pg bouncer connection
|
||||
@@ -418,7 +529,18 @@ print "Wrote to DB tabel $table with data " . print_r($data, true) . " and got p
|
||||
// return Array Test
|
||||
$query = "SELECT type, sdate, integer FROM foobar";
|
||||
$data = $db->dbReturnArray($query, true);
|
||||
print "Rows: " . $db->dbGetNumRows() . ", Full foobar list: <br><pre>" . print_r($data, true) . "</pre><br>";
|
||||
print "RETURN ARRAY: " . $db->dbGetNumRows() . ", Full foobar list: <br><pre>" . print_r($data, true) . "</pre><br>";
|
||||
$query = <<<EOM
|
||||
SELECT
|
||||
type, sdate
|
||||
FROM
|
||||
foobar
|
||||
WHERE
|
||||
type = $1
|
||||
EOM;
|
||||
$data = $db->dbReturnArrayParams($query, ['schmalz'], true);
|
||||
print "RETURN ARRAY PARAMS: " . $db->dbGetNumRows() . ", Full foobar list: <br><pre>"
|
||||
. print_r($data, true) . "</pre><br>";
|
||||
|
||||
// trigger a warning
|
||||
print "<b>WARNING NEXT</b><br>";
|
||||
|
||||
@@ -46,6 +46,14 @@ $smarty = new CoreLibs\Template\SmartyExtend(
|
||||
CACHE_ID,
|
||||
COMPILE_ID,
|
||||
);
|
||||
$adm = new CoreLibs\Admin\Backend(
|
||||
new CoreLibs\DB\IO(DB_CONFIG, $log),
|
||||
$log,
|
||||
new CoreLibs\Create\Session(EDIT_SESSION_NAME),
|
||||
$l10n,
|
||||
80
|
||||
);
|
||||
$adm->DATA['adm_set'] = 'SET from admin class';
|
||||
|
||||
$PAGE_NAME = 'TEST CLASS: SMARTY';
|
||||
print "<!DOCTYPE html>";
|
||||
@@ -146,8 +154,10 @@ $smarty->setSmartyVarsAdmin(
|
||||
'admin_stylesheet' => ADMIN_STYLESHEET,
|
||||
'admin_javascript' => ADMIN_JAVASCRIPT,
|
||||
'page_width' => PAGE_WIDTH,
|
||||
'content_path' => CONTENT_PATH,
|
||||
'user_name' => $_SESSION['USER_NAME'] ?? ''
|
||||
]
|
||||
],
|
||||
$adm
|
||||
);
|
||||
|
||||
// error message
|
||||
|
||||
@@ -6,14 +6,12 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||
$DEBUG_ALL = 1;
|
||||
$PRINT_ALL = 1;
|
||||
$DB_DEBUG = 1;
|
||||
$DEBUG_ALL_OVERRIDE = false; // set to 1 to debug on live/remote server locations
|
||||
$DEBUG_ALL = true;
|
||||
$PRINT_ALL = true;
|
||||
$DB_DEBUG = true;
|
||||
|
||||
if ($DEBUG_ALL) {
|
||||
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||
}
|
||||
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||
|
||||
ob_start();
|
||||
|
||||
@@ -25,8 +23,8 @@ require 'config.php';
|
||||
$LOG_FILE_ID = 'classTest-VarIsType';
|
||||
ob_end_flush();
|
||||
|
||||
use CoreLibs\Convert\VarSetType;
|
||||
use CoreLibs\Convert\VarSetTypeNull;
|
||||
use CoreLibs\Convert\SetVarType;
|
||||
use CoreLibs\Convert\SetVarTypeNull;
|
||||
use CoreLibs\Debug\Support;
|
||||
|
||||
$log = new CoreLibs\Debug\Logging([
|
||||
@@ -35,9 +33,9 @@ $log = new CoreLibs\Debug\Logging([
|
||||
// add file date
|
||||
'print_file_date' => true,
|
||||
// set debug and print flags
|
||||
'debug_all' => $DEBUG_ALL ?? false,
|
||||
'debug_all' => $DEBUG_ALL,
|
||||
'echo_all' => $ECHO_ALL ?? false,
|
||||
'print_all' => $PRINT_ALL ?? false,
|
||||
'print_all' => $PRINT_ALL,
|
||||
]);
|
||||
|
||||
$PAGE_NAME = 'TEST CLASS: CONVERT\VARISTYPE';
|
||||
@@ -48,28 +46,28 @@ print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||
|
||||
|
||||
print "Test A str set: " . VarSetType::setStr(5, 'set int') . "<br>";
|
||||
print "Test A str make int: " . VarSetType::makeStr(5, 'make int') . "<br>";
|
||||
print "Test A str make object: " . VarSetType::makeStr($log, 'Object') . "<br>";
|
||||
print "Test A str make null: " . VarSetType::makeStr(null, 'null') . "<br>";
|
||||
print "Test B int set: " . VarSetType::setInt("5", -1) . "<br>";
|
||||
print "Test B int make string: " . VarSetType::makeInt("5", -1) . "<br>";
|
||||
print "Test B' int make float: " . VarSetType::makeInt("5.5", -1) . "<br>";
|
||||
print "Test B'' int make class: " . VarSetType::makeInt($log, -1) . "<br>";
|
||||
print "Test B''' int make hex: " . VarSetType::makeInt("0x55", -1) . "<br>";
|
||||
print "Test B''' int make hex: " . VarSetType::makeInt(0x55, -1) . "<br>";
|
||||
print "Test C float make: " . VarSetType::makeFloat("13,232.95", -1) . "<br>";
|
||||
print "Test A str set: " . SetVarType::setStr(5, 'set int') . "<br>";
|
||||
print "Test A str make int: " . SetVarType::makeStr(5, 'make int') . "<br>";
|
||||
print "Test A str make object: " . SetVarType::makeStr($log, 'Object') . "<br>";
|
||||
print "Test A str make null: " . SetVarType::makeStr(null, 'null') . "<br>";
|
||||
print "Test B int set: " . SetVarType::setInt("5", -1) . "<br>";
|
||||
print "Test B int make string: " . SetVarType::makeInt("5", -1) . "<br>";
|
||||
print "Test B' int make float: " . SetVarType::makeInt("5.5", -1) . "<br>";
|
||||
print "Test B'' int make class: " . SetVarType::makeInt($log, -1) . "<br>";
|
||||
print "Test B''' int make hex: " . SetVarType::makeInt("0x55", -1) . "<br>";
|
||||
print "Test B''' int make hex: " . SetVarType::makeInt(0x55, -1) . "<br>";
|
||||
print "Test C float make: " . SetVarType::makeFloat("13,232.95", -1) . "<br>";
|
||||
print "Test D floatval: " . floatval("13,232.95") . "<br>";
|
||||
print "Test E filter_var: "
|
||||
. filter_var("13,232.95", FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) . "<br>";
|
||||
print "Test F filter_var: "
|
||||
. filter_var("string", FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) . "<br>";
|
||||
|
||||
print "Test G make bool: " . VarSetType::makeBool("on") . "<br>";
|
||||
print "Test G make bool: " . VarSetType::makeBool(null) . "<br>";
|
||||
print "Test G make bool: " . VarSetType::makeBool("null") . "<br>";
|
||||
print "Test G make bool: " . VarSetType::makeBool($log) . "<br>";
|
||||
print "Test G make bool: " . VarSetTypeNull::makeBool($log) . "<br>";
|
||||
print "Test G make bool: " . SetVarType::makeBool("on") . "<br>";
|
||||
print "Test G make bool: " . SetVarType::makeBool(null) . "<br>";
|
||||
print "Test G make bool: " . SetVarType::makeBool("null") . "<br>";
|
||||
print "Test G make bool: " . SetVarType::makeBool($log) . "<br>";
|
||||
print "Test G make bool: " . SetVarTypeNull::makeBool($log) . "<br>";
|
||||
|
||||
print "<hr>";
|
||||
|
||||
@@ -84,30 +82,30 @@ $checks = [
|
||||
foreach ($checks as $string) {
|
||||
print "** SET NOT NULL: (" . gettype($string) . ")<br>";
|
||||
print "Str: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetType::setStr($string)) . "-<br>";
|
||||
. Support::printToString(SetVarType::setStr($string)) . "-<br>";
|
||||
print "Int: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetType::setInt($string)) . "-<br>";
|
||||
. Support::printToString(SetVarType::setInt($string)) . "-<br>";
|
||||
print "Float: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetType::setFloat($string)) . "-<br>";
|
||||
. Support::printToString(SetVarType::setFloat($string)) . "-<br>";
|
||||
print "Bool: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetType::setBool($string)) . "-<br>";
|
||||
. Support::printToString(SetVarType::setBool($string)) . "-<br>";
|
||||
print "Array: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetType::setArray($string)) . "-<br>";
|
||||
. Support::printToString(SetVarType::setArray($string)) . "-<br>";
|
||||
print "<hr>";
|
||||
}
|
||||
|
||||
foreach ($checks as $string) {
|
||||
print "** SET NULL: (" . gettype($string) . ")<br>";
|
||||
print "Str: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetTypeNull::setStr($string)) . "-<br>";
|
||||
. Support::printToString(SetVarTypeNull::setStr($string)) . "-<br>";
|
||||
print "Int: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetTypeNull::setInt($string)) . "-<br>";
|
||||
. Support::printToString(SetVarTypeNull::setInt($string)) . "-<br>";
|
||||
print "Float: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetTypeNull::setFloat($string)) . "-<br>";
|
||||
. Support::printToString(SetVarTypeNull::setFloat($string)) . "-<br>";
|
||||
print "Bool: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetTypeNull::setBool($string)) . "-<br>";
|
||||
. Support::printToString(SetVarTypeNull::setBool($string)) . "-<br>";
|
||||
print "Array: " . Support::printToString($string) . ": -"
|
||||
. Support::printToString(VarSetTypeNull::setArray($string)) . "-<br>";
|
||||
. Support::printToString(SetVarTypeNull::setArray($string)) . "-<br>";
|
||||
print "<hr>";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user