Wert auslesen, ausgeben und um eins erhöhen

Ich habe die Frage zwar schon einmal gestellt aber ich stelle sie noch einmal.

PHP:
$db1 = mysql_connect('host', 'user','password') or die ('Internal Error!');
$db2 = mysql_select_db('db-name', $db1) or die ('Internal Error!');
...
$db3 = mysql_close($db1)

Würde es auch so gehen? Oder kann so irgend ein Fehler oder eine Sicherheitslücke entstehen?

Ich habe das gesamte Skript so pingelig Symmetrisch (Eindeutige Variablen, 120 Zeichen pro Zeile, Abgrenzung der Abläufe usw.) aufgebaut das mich die MySQL-Befehle ohne Variable davor irgendwie stört.
 
PHP:
// $db1 enthält die Verbindungskennung, wenn du mehrere hast ist das ok so
$db1 = mysql_connect('host', 'user','password') or die ('Internal Error!');
// bei einem Fehler würde die() das Skript abwürgen, wenn es läuft wäre $db2 immer true
// Inwiefern das Sinnvoll ist weiß ich nicht.
$db2 = mysql_select_db('db-name', $db1) or die ('Internal Error!');
...
// $db3 würde true enthalten wenn du die Verbinung schließ, durch die() Anweisung würdest du bis hierhin erst gar nicht kommen bei einem Fehler
$db3 = mysql_close($db1);

Wenn du nur eine Datenbank Verbindung hast würde der Code so auch ausreichen:
PHP:
mysql_connect('host', 'user','password') or die ('Internal Error!');
mysql_select_db('db-name') or die ('Internal Error!');
...
mysql_close();
 
Was heisst nur eine Datenbank Verbindung? Meinst du nur EINE oder MEHRERE Datenbanken? Oder meinst du wie oft ich im Skript die Verbindung Aufbaue und wieder trenne?

Edit:

Ok ein Blick auf deinen Code und ich weiss jetzt was du meinst. Nein, ich baue die Verbindung maximal drei mal auf.

Ich müsste nur wissen ob das "Technisch" ist Ordnung ist wenn ich einfach ne Variable davor setze. Ich möchte ja keinen Fehler oder eine Sicherheitslücke verursachen.

Edit:

http://www.educat.hu-berlin.de/doc/selfphp/funktionsreferenz/mysql_funktionen/mysql_select_db.html

PHP:
<?PHP
/* 
  Allgemeine Daten fuer die Datenbankanbindung
  und direkter Connect zur Datenbank. Nach
  Einbindung dieses Segments kann direkt mit
  MySQL-Befehlen auf die Datenbank zugegriffen
  werden.
*/

/* Datenbankserver - In der Regel die IP */
  $db_server = "localhost";

/* Datenbankname */
  $db_name = "selfphp";

/* Datenbankuser */
  $db_user = "root";

/* Datenbankpasswort */
  $db_passwort = "mega";
         
/* Erstellt Connect zu Datenbank her */
  $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
    or die ("Konnte keine Verbindung zur Datenbank herstellen");
  $db_select = @MYSQL_SELECT_DB($db_name);
  if($db_select)
    echo "Datenbank wurde ausgewählt";
?>
 
Zuletzt bearbeitet:
Kleine Anmerkung vorweg: Kommentare zu selbsterklärenden Sachen sind überflüssig und sollten dann lieber weggelassen werden. (Bezieht sich auf die Kommentare zu deinen Variablen).

Als Faustregel gilt allgemein, nicht nur für Datenbankverbindungen:
Wenn du eine Variable nicht im Script verwendest, brauchst du sie auch gar nicht erst anlegen. Das hat dir Napofis ja auch schon erklärt.
Natürlich kannst du das machen, nur ist es absolut sinnfrei, zumal extra Speicherplatz, den du letztendlich gar nicht benötigst, angefordert wird. In so kleinem Maße ist das natürlich irrelevant.

Dann frage ich mich noch warum du mysql_pconnect und nicht das einfache und sicherere mysql_connect verwendest.
Mehr Informationen zu mysql_pconnect und wo damit Probleme auftreten können

Abschließend: Sinnlose Sachen in Variablen abzuspeichern stellt weder ein Sicherheitsrisiko noch einen Fehler dar.


edit: @Napofis: Ich glaube wir haben da einfach aneinander vorbei geredet :)
 
Zuletzt bearbeitet:
Kleine Anmerkung vorweg: Kommentare zu selbsterklärenden Sachen sind überflüssig und sollten dann lieber weggelassen werden. (Bezieht sich auf die Kommentare zu deinen Variablen).

Ich habe den Code 1:1 von einer PHP-Webseite übernommen um aufzuzeigen das es anscheind doch möglich ist, vor jedem MySQL-Befehl eine Variable zu setzen.

Meine Codes sehen Grundsätzlich anders aus.

Abschließend: Sinnlose Sachen in Variablen abzuspeichern stellt weder ein Sicherheitsrisiko noch einen Fehler dar.

Mag sein das es etwas mehr Speicher verbraucht und den Code im Gesamten etwas unnötig aufbläht aber MIR hilft es solche unnötigen Variablen anzulegen. Denn wenn ich den Code nach ein paar Monaten updaten muss (PHP-Version wurde geupdatet, Suche nach einen Bug oder einfach beim erweitern des Skriptes), muss ich mich ja auch teilweise wieder in das Skript reinarbeiten und nachvollziehen warum ich dieses und jenes gemacht habe.

Ich betrachte PHP etwas wie Kunst.
 
Zurück