diff --git a/www/admin/class_test.db.php b/www/admin/class_test.db.php
index 036a8829..c79b6a22 100644
--- a/www/admin/class_test.db.php
+++ b/www/admin/class_test.db.php
@@ -226,54 +226,94 @@ 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) . "
";
+echo "*
";
$status = $db->dbExecParams($query, ['EOM BAR TEST PARAMS ' . time()]);
-print "EOM STRING EXEC PARAMS INSERT[ins_test_foo_eom] STATUS: " . Support::printToString($status) . " |
"
+print "EOM STRING EXEC PARAMS INSERT STATUS: " . Support::printToString($status) . " |
"
. " |
"
. "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
. "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true) . "
";
-$query = <<dbExecParams(
- $query,
+ $query_insert,
[
'EOM BAR TEST PARAMS MULTI ' . time(),
true,
'string a',
1,
1.5,
- '1h'
+ '1h',
+ '2023-01-01 12:12:12',
+ json_encode(['a' => 'b', 'c' => 1])
]
);
$__last_insert_id = $db->dbGetInsertPK();
-print "EOM STRING EXEC PARAMS MULTI INSERT[ins_test_foo_eom] STATUS: " . Support::printToString($status) . " |
"
+echo "*
";
+print "EOM STRING EXEC PARAMS MULTI INSERT STATUS: " . Support::printToString($status) . " |
"
. " |
"
. "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
. "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true) . "
";
-$query = <<dbReturnRowParams(
- $query,
+ $query_select,
[$__last_insert_id]
)
) . "
";
+// B
+$status = $db->dbExecParams(
+ $query_insert,
+ [
+ 'EOM BAR TEST PARAMS MULTI NULL ' . time(),
+ true,
+ 'string a',
+ null,
+ null,
+ '1h',
+ null,
+ null
+ ]
+);
+$__last_insert_id = $db->dbGetInsertPK();
+echo "*
";
+print "EOM STRING EXEC PARAMS MULTI NULL INSERT STATUS: "
+ . Support::printToString($status) . " |
"
+ . " |
"
+ . "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
+ . "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
+ . "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true)
+ . "ERROR: " . $db->dbGetLastError(true) . "
";
+print "EOM STRING EXEC RETURN TEST: " . print_r(
+ $db->dbReturnRowParams(
+ $query_select,
+ [$__last_insert_id]
+ )
+) . "
";
+echo "
";
// returning test with multiple entries
// $status = $db->db_exec(
diff --git a/www/lib/CoreLibs/DB/IO.php b/www/lib/CoreLibs/DB/IO.php
index aa681ea6..8f651593 100644
--- a/www/lib/CoreLibs/DB/IO.php
+++ b/www/lib/CoreLibs/DB/IO.php
@@ -892,7 +892,9 @@ class IO
for ($i = 0, $iMax = count($keys); $i < $iMax; $i++) {
$keys[$i] = '$' . ($keys[$i] + 1);
// prefix data set with parameter pos
- $data[$i] = $keys[$i] . ':' . $data[$i];
+ $data[$i] = $keys[$i] . ':' . ($data[$i] === null ?
+ '"NULL"' : (string)$data[$i]
+ );
}
// simply replace the $1, $2, ... with the actual data and return it
return str_replace(