Seite 1 von 1

Vorschlag zur Verbesserung der Lesbarkeit des mySQl-Codes

Verfasst: 19.03.2004 20:42
von vajk
Hallo liebe Leute,
also immer wenn ich den Quälcode sehe, wie eine INSERT - Funktion in mySQl gestrickt sein muß, dann noch mit der ungleichen Syntax, zwischen INSERT und UPDATE und die unlesbare "-Plazierung, dann könnte ich @@@@@@@@(zensiert) ...

... aus diesem Grund hier einen Vorschlag, an die, die phpBB programmieren:

aus:
$sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, ... )
VALUES ($user_id, '" . str_replace("\'", "''", $username) .... );
könnte man sowas bauen - Idee:
$valuearray = array(
"user_id" => $user_id,
"username" => str_replace("\'", "''", $username),
"user_regdate" => time(),
...

und dann:

$sql = makesqlinsert($table, $valuearray);
Hierzu
function makesqlinsert($table, $valuearray)
{
$fvaluearray = $valuearray;

$sql = "INSERT INTO `" . $table . "` (";

reset($fvaluearray); $first = false;
while(list($key, $val) = each($fvaluearray))
{
if($first) $sql .= ", "; else $first = true;
$sql .= "`" . $key . "`";
}

$sql .= " )<br />\n VALUES ( ";

reset($fvaluearray); $first = false;
while(list($key, $val) = each($fvaluearray))
{
if($first) $sql .= ", "; else $first = true;
$sql .= "`" . $val . "`";
}

$sql .= " )<br />\n";

return($sql);
}
Das Ergebnis :
INSERT INTO `USERS_TABLE` (`user_id`, `username`, ...
VALUES ( ``, `hugo`, `1079725056`, ...
entspricht auch dem, was phpMyAdmin als SQL-Syntax ausgibt :-)

Das selbe dann als makesqlupdate( ....

Das Einfügen von DB-Erweiterungen wäre jedenfalls viel leichter und nicht so Fehleranfällig ... Grrüße und Dank an die, die Mods bauen :-)

Wenns den Code-Kundigen von phpBB.de gefällt, bitte Idee an phpBB.com weiterreichen :-)

Liebe Grüße,
Vajk

Verfasst: 19.03.2004 20:51
von saerdnaer
schau dir mal den code vom phpbb 2.2 an ;-)

ah

Verfasst: 19.03.2004 20:53
von vajk
saerdnaer hat geschrieben:schau dir mal den code vom phpbb 2.2 an ;-)
ah
zeig mal ... echt, .. *** prima ***

Verfasst: 23.03.2004 16:07
von vajk
Hallo :-)

.. hab das inzwischen gebacken, also die Füllung eines Arrays für UPDATE und INSERT - für admin_users.php, usercp_viewprofile.php und usercp_register.php - .. falls es jemand möchte, bitte pm :-)
Liebe Grüße,
Vajk