30. marts 2006 - 11:52
Der er
11 kommentarer og 1 løsning
Vil ikke lukke MySQL-forbindelse
Den følgende kode: =========================================================== <?php function error ( $msg ) { die ($msg); } // function for establishing connection to the database function mydb_connect() { $dbhost = "host"; $user = "user"; $database = "database"; $passwd = "password"; $db = mysql_connect($dbhost, $user, $passwd); if ( $db == 0 ) { error ("Connection to database on ’$dbhost’ failed"); } if ( mysql_select_db($database, $db) == 0 ) { error ("Failed to select database ’$database’"); } return $db; } echo '<p>Der er oprettet adgang til databasen</p>'; if (!(mysql_close($db))) { echo 'Der er noget galt'; } else echo '<p>Der er lukket for adgang til databasen</p>'; ?> ========================================================= giver følgende output: Der er oprettet adgang til databasen Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /XXXXXXX/comments.php on line 34 Der er noget galt Ja, den har ret i, at der er noget galt, MEN HVAD? Kører på PHP Version 5.0.4 og MySQL Version 4.1.16
Annonceindlæg fra HP
30. marts 2006 - 11:55
#1
Overvej om du ikke skal kalde din funktion mydb_connect()
30. marts 2006 - 12:00
#2
Hvorfor skal jeg kalde en funktion, som åbner en i forvejen åben forbindelse?
30. marts 2006 - 12:02
#3
Hm, er det ikke fordi din $db ikke er global? [...] // function for establishing connection to the database function mydb_connect() { global $db; $dbhost = "host"; $user = "user"; [...]
30. marts 2006 - 12:04
#4
>>>razmuz_dk Det lyder ikke så åndssvagt, laver lige en luk-funktion...
30. marts 2006 - 12:08
#5
>>>erikjacobsen Jo, selvfølgelig skal jeg kalde funktionen mydb_connect(). Man kon selvfølgelig ikke lukke en forbindelse, som aldrig er blevet åbnet... (Må vist se at få noget mere søvn!)
30. marts 2006 - 12:12
#6
tajo > Du behøver ikke nødvendigvis at lave en luk-funktion. Du kan godt bruge mysql_close($db) hvis du bare sørger for at $db er global. Hvis du laver en close-funktion, så skal du huske at $db også skal være global i dén funktion :)
30. marts 2006 - 12:14
#7
Det virker nu - takket være Jer begge to. Kan ikke lægge nogle svar, så er der 30 points til hver?
30. marts 2006 - 12:25
#8
;) Jeg samler slet ikke på point, tak.
30. marts 2006 - 12:30
#9
>>> erik Jeg kender dig godt i forvejen, samler du så på karma?
30. marts 2006 - 12:33
#10
Nej tak. Kun dårlig karma - men jeg kigger nu aldrig på den ;)
30. marts 2006 - 12:35
#11
>>> erik Alt vel, så...
31. marts 2006 - 14:35
#12
:)
Vi tilbyder markedets bedste kurser inden for webudvikling