[PHP] sql error 1046 na fopen

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Dit begrijp ik langs geen kanten...

PHP:
1
2
3
4
5
6
7
8
9
10
11
$FilePointer2 = fopen ( "UploadFile.txt" , "r" );

$Query1 = new MySql();

// Select
$SqlResult = $Query1->fnRunQuery
("
    SELECT * FROM News WHERE NewsParent=$ID ORDER BY NewsID ASC
");

$NumResults = $Query1->fnNumberResults ();


Geeft dus als resultaat sql error 1046 (No database selected). Commentarieer ik die eerste lijn dan werkt het perfect. En ja, het bestand dat ik probeer te openen bestaat wel degelijk en de fopen geeft geen error. De file closen met fclose verhelpt het probleem NIET.

Wat doet fopen zodat het mijn class MySql verneukt??? Is dit een bug???

Voor de volledigheid een stukje uit mijn MySql class:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function fnRunQuery ( $req_sql )
{
    global $TRUE, $FALSE;
    
    $this->SqlQuery = $req_sql;
    
    if ( $this->Connection == $FALSE )
    {
        $this->fnOpenConnection();
    }

    $this->Temp = mysql_query( $this->SqlQuery ) or die ( "<br>Error in SQL query:".mysql_errno()."<br>".mysql_error() );;
    
    return $this->Temp;
    
}

function fnOpenConnection()
{
    global $TRUE , $FALSE;
            
//      echo "$this->Host + $this->User + $this->Password + $this->Database<br>";

    $this->Connection = mysql_connect( "$this->Host" , "$this->User" , "$this->Password" ) or die ( "<br>Could not connect to $this->Host server<br>Error number:".mysql_errno()."<br>".mysql_error() );
    
    if ( $this->Connection == $TRUE )
    {
        $this->Connection = mysql_select_db( "$this->Database" ) or die ( "<br>Could not select $this->Database database<br>Error number:".mysql_errno()."<br>".mysql_error() );
        
        $this->fnSetConnection( $TRUE );
    }
    else
    {
        $this->fnSetConnection( $FALSE );
        return false;
    }
    return true;
}

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Dat kan helemaal niet daardoor fout gaan :?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn gedacht! Ik begrijp er ook niets van...

Ondertussen nog wat gedebugged en blijkt dat de if op lijn 26 niet true is. Commentarier ik die if dan doet hij de mysql_select_db op lijn 28 zonder problemen. That beats me!

Dus met een fopen wordt de de mysql_connect op lijn 24 niet meer juist gereturned. Dit moet een bug zijn. Kan niet anders...

Groet,
FraGGeL

Acties:
  • 0 Henk 'm!

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 11:39

Crazy D

I think we should take a look.

mysql_connect geeft een identifier terug, geen true. Nou snap ik niet wat fopen daar mee te maken zou hebben ;) Maar haal die == $TRUE eens weg, of verander 'm naar "not false". En volgens mij hoef je niet eens meer apart this->Connection te checken, omdat je een or die( hebt staan dus als het niet lukt issie al dood voordat je bij je if aankomt :)
(maar t kan zijn dat ik gewoon veel meer koffie nodig heb :O :z)

Exact expert nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mysql_connect geeft een identifier terug, geen true. Nou snap ik niet wat fopen daar mee te maken zou hebben...
Heb even een echo gedaan van $this->connection na die mysql_connect:
- zonder fopen() -> Resource id #1
- met fopen() -> Resource id #2

Dus inderdaad ja, die return is anders. Toch wel vreemd die internals soms :)