MySQL mit PHP: Variablenübergabe

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

MySQL mit PHP: Variablenübergabe

Postby The Captain » 25. February 2004 12:10

Hallo zusammen.
Mal wieder ne noob-Frage:
ich versuche den Link zu einer Datenbank an eine Funktion in einer anderen php-Datei zu übergeben. Das funktioniert aber net (das echo in der Funktion gibt ja nix aus).
hier das Skript:
Inhalt von zred.php
Code: Select all
 [...]   if ($red != 'a')
    {
      echo '<h1>Unbekannte ID.</h1>';
      exit;
    }
    echo '<h2>Login erfolgreich!.<br></h2>';
   
    $link = connect_to_db();
    $_SESSION['db_link'] = $link;
   
    $db_fragen = mysql_select_db("fragen", $link);
    if ($db_fragen) echo "Verbindung zum Fragenkatalog hergestellt.";
    else echo "Verbindung zum Fragenkatalog nicht hergestellt.";
  }
  echo $link;

  if($_REQUEST['db_name'])
  {
    echo "Rufe Methode auf<br>";
    echo $link;
    $result = showtable($db, $link);
  }

?>
<form action=zred.php method=POST>
  <p>Bitte Unterkatalog wählen:</p>
  <input type=text name="db_name">
  <input type=submit value="Anzeigen"> [...]


hier die ztable_ops.php:
Code: Select all
<?php
  function showtable($db,$link)
  {
    echo "bin drin";
    echo $_REQUEST['db_name'];
    echo $link;
?>


kann mir da jemand helfen?
The Captain
 
Posts: 6
Joined: 23. February 2004 10:27
Location: Paderborn

Postby Pc-dummy » 25. February 2004 12:40

Kleines bsp. a gibts link b nimmt :)

Code: Select all
a.php
<?php
session_start()
$link = mysql_connect("host", "name", "pass");
$_SESSION['db_link'] = $link;
//...
?>

b.php
<?php
$link = $_SESSION['db_link'];
//...
mysql_close($link);
?>


MFG
Pc-Dummy

P.s.: Code nicht getestet
Gentoo/X86_64, AMD Athlon 64 FX-53, 1,5 GB INFINEON Ram, Audigy 2 ZS Platinum Pro, 300 GB Platten, LG-DVD Brenner
Pc-dummy
AF Moderator
 
Posts: 784
Joined: 29. December 2002 01:46
Location: AT-Vorarlberg-Feldkirch

Postby The Captain » 25. February 2004 13:19

hi
danke für den Tipp, aber leider funktioniert das auch net. Die Var $_SESSION['db_link'] ist in b.php leer, während in a.php der korrekte Wert ausgegeben wird.
The Captain
 
Posts: 6
Joined: 23. February 2004 10:27
Location: Paderborn

Postby DJ DHG » 25. February 2004 14:07

Moin Moin

in der b.php muss die session vorgesetzt werden, also:

Code: Select all
b.php
<?php
session_start()
$link = $_SESSION['db_link'];
//...
mysql_close($link);
?>


mfg DJ DHG
User avatar
DJ DHG
AF Moderator
 
Posts: 2455
Joined: 27. December 2002 13:50
Location: Kiel

Postby The Captain » 26. February 2004 10:16

tja, ich hab's mit ner normalen Variablen ausprobiert (hat wunderbar geklappt), aber den Inhalt von $link hat er beim Aufruf der Seite verloren. Kann es sein, dass dieser Link zur Datenbank zu "komplex" ist?
The Captain
 
Posts: 6
Joined: 23. February 2004 10:27
Location: Paderborn

Postby Straffi » 27. February 2004 09:03

Moin,

aus dem Manual:
Die Verbindung zum Datenbank-Server wird geschlossen, sobald die Ausführung des PHP-Skripts beendet ist oder vorher explizit die Funktion mysql_close() aufgerufen wird.


Abhilfe schafft hier mysql_pconnect :
...die Verbindung zum SQL Server wird beim Beenden des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen Verwendung bestehen. (mysql_close() schließt keine von mysql_pconnect() geöffneten Verbindungen).



mfg straffi
User avatar
Straffi
 
Posts: 120
Joined: 07. October 2003 17:48

Postby The Captain » 27. February 2004 10:20

hey, danke!

da hab ich es mir ja unnötig schwer gemacht ;-) hab einfach nur
mysql_query($query)
eingegeben und voilà, es lief!

thx a lot!
The Captain
 
Posts: 6
Joined: 23. February 2004 10:27
Location: Paderborn

Postby Pc-dummy » 27. February 2004 10:21

warum hab ich nicht daran gedacht? :(
Gentoo/X86_64, AMD Athlon 64 FX-53, 1,5 GB INFINEON Ram, Audigy 2 ZS Platinum Pro, 300 GB Platten, LG-DVD Brenner
Pc-dummy
AF Moderator
 
Posts: 784
Joined: 29. December 2002 01:46
Location: AT-Vorarlberg-Feldkirch


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 1 guest