Reply to Re: not a valid MySQL-Link resource

Your name:

Reply:


Posted by Schraalhans Keukenmeester on 04/27/07 10:07

Kurda Yon wrote:
> On Apr 26, 9:20 pm, "Steve" <no....@example.com> wrote:
>> "Kurda Yon" <kurda...@yahoo.com> wrote in message
>>
>> news:1177613411.140647.31800@n35g2000prd.googlegroups.com...
>> | Hi everybody,
>> |
>> | I cannot understand the following thinks. The last line of the
>> | fillowing code produces a message about mistake (not a valid MySQL-
>> | Link resource):
>> |
>> | $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_select_db( $db_name, $link);
>> | $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_close( $link );
>> | mysql_select_db( "sss", $link );
>> |
>> | It is clear why it is happens. Because I use $link to the database,
>> | which has been closed in the previouse line. To remove this problem I
>> | have to change the code in the following way:
>> |
>> | $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_select_db( $db_name, $link);
>> | $link_new = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_close( $link_new );
>> | mysql_select_db( "sss", $link );
>> |
>> | Now I do the same but with the usage of a function. As it is expected,
>> | the following code produce the message about mistake:
>> |
>> | $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_select_db( $db_name, $link);
>> | function fff()
>> | {
>> | $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_close( $link );
>> | }
>> | fff();
>> | mysql_select_db( "sss", $link );
>> |
>> | But what is strange and what I cannot understand is why the previosly
>> | used solution does not work. The following code alse generate the same
>> | message!
>> |
>> | $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_select_db( $db_name, $link);
>> | function fff()
>> | {
>> | $link_new = mysql_connect( "localhost","tmp_user","tmpxxx" );
>> | mysql_close( $link_new );
>> | }
>> | fff();
>> | mysql_select_db( "sss", $link );
>>
>> hard to understand you.
>>
>> is this your *real* code? you realize that $link INSIDE the function is not
>> $link OUTSIDE your function, right? why are you worrying about closing the
>> connection anyway? the connection is dropped after the script is run/exited.
>
> Sorry, may be I explained it in a bad way. The problem is that the
> following code produce a message about mistake:
>
> $link = mysql_connect( "localhost","tmp_user","tmpxxx" );
> mysql_select_db( $db_name, $link);
> function fff()
> {
> $link_new = mysql_connect( "localhost","tmp_user","tmpxxx" );
> mysql_close( $link_new );
> }
> fff();
> mysql_select_db( "sss", $link );
>
> Or more precisely the last line causes the following message:
> Warning: mysql_select_db(): 2 is not a valid MySQL-Link resource
>
> And it happens only if I execute the fff() function before. I suppose
> that origin of the problem is that I close connection to the database
> in the function. But I do not understand why. I do give another name
> to the connection.
>
>
From the mysql_connect() manual page:

resource mysql_connect ( [string $server [, string $username [, string
$password [, bool $new_link [, int $client_flags]]]]] )

[...]

If a second call is made to mysql_connect() with the same arguments, no
new link will be established, but instead, the link identifier of the
already opened link will be returned. The new_link parameter modifies
this behavior and makes mysql_connect() always open a new link, even if
mysql_connect() was called before with the same parameters. In SQL safe
mode, this parameter is ignored.

This might be what causes your error.

HTH

Sh.

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация