[PHP] Query in functie word niet goed gereturned

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Hallo beste tweakers,

ik ben al een tijdje bezig met dit probleem, en ik kom er maar niet uit. Hopelijk biedt 1 van jullie de oplossing :)

Ik was wat bezig om te proberen een class te bouwen. Allemaal leuk en aardig, maar als ik een database class maak, dan worden de results van een query niet goed gereturned en ik weet niet waarom.
Nu ben ik er achter, dat hetzelfde probleem zich ook voordoet als ik de query via een functie laat lopen, dus laat ik deze zien, omdat die wat makkelijker te overzien zijn :)

Even als voorbeeld, dit werkt perfect:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
//hieruit vloeit uiteindelijk de variabele $db_connect die in een mysql_query functie nodig is en werkt (weet ik 100% zeker)
include('includes/mysql.php');

$query = 'SELECT * FROM tabel WHERE waarde=\'iets\';';
$result = mysql_query($query, $db_connect) || die ('Er ging iets fout:<BR>'. mysql_error());

print_r($result);
/*
Dit levert als output:
Resource id #8
Dit is wat ik verwacht en hier kan ik verder mee werken
*/


Maar nu wil ik de query via een functie doen, dit doe ik als volgt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function query($query)
{
   //De include binnen de functie zodat $db_connect in de functie beschikbaar is
   include('includes/mysql.php');

   $result = mysql_query($query, $db_connect)|| die ('Er ging iets fout:<BR>'. mysql_error());
   
   return $result;
}

$query = 'SELECT * FROM tabel WHERE waarde=\'iets\';';

$result = query($query);

print_r($result);
/*
Dit levert als output:
1 (één)
Niet echt zoals verwacht, waarom niet?
*/


Het lijkt erop dat ik niet de variabele met de Resource id terugkrijg, maar een boolean met die aangeeft dat de query mislukt is.
In de PHP manual staat dit:
Alleen voor SELECT, SHOW, EXPLAIN en DESCRIBE queries geeft mysql_query() een resource identifier terug of FALSE als de query niet correct werd uitgevoerd. Voor andere soorten SQL queries geeft mysql_query() TRUE terug bij succes en FALSE bij een fout.
Met andere woorden, bij een select moet $result bij mij gewoon de resource id krijgen, maar dat krijgt deze niet.

Binnen de functie de string $result printen resulteert ook in een 1, dus daar gaat het al fout :?

Ikzelf heb de hoop al bijna opgegeven. Waarschijnlijk zal ik wel weer iets ongelooflijk doms over het hoofd zien waarom dit gebeurd :+
Maar op dit moment maakt me dat niets uit, ik wil gewoon verder!

Bij voorbaat dank :)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

geeft mysqlerror niets eruit?


ps: met die include wordt dus TELKENS als die functie aangeroepen wordt, weerde db connectie opgebouwt, terwijl die er in principe al is....

niet een beetje overkill?


probeer de include buiten de functie, en dan de db_connectie meegeven aan je functie?


ps: hernoem de $query in je functie eens voor de duidelijkheid naar $argquery ofzow (van argument query) zodat je in iedergeval geen verwarrende dubbelle namen voor variabellen hebt

[ Voor 195% gewijzigd door WPN op 12-06-2004 01:20 ]

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

Verwijderd

heeft je functie wel toegang tot $db_connect ?

/me lult uit z'n nek

[ Voor 21% gewijzigd door Verwijderd op 12-06-2004 02:31 ]


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Peluso schreef op 12 juni 2004 @ 01:16:
geeft mysqlerror niets eruit?


ps: met die include wordt dus TELKENS als die functie aangeroepen wordt, weerde db connectie opgebouwt, terwijl die er in principe al is....

niet een beetje overkill?


probeer de include buiten de functie, en dan de db_connectie meegeven aan je functie?


ps: hernoem de $query in je functie eens voor de duidelijkheid naar $argquery ofzow (van argument query) zodat je in iedergeval geen verwarrende dubbelle namen voor variabellen hebt
Die telkens nieuwe connectie klopt, het is maar even om te proberen. Als het werkt kan ik verder met mijn class ;)

mysql_error geeft niets, ik krijg alleen een wit scherm met een 1 erin.
Verwijderd schreef op 12 juni 2004 @ 01:18:
heeft je functie wel toegang tot $db_connect ?
Jep, want de include staat IN de functie en ik krijg verder geen errors. Verder werkt dezelfde $db_connect wel als de mysql_query niet in een functie aangeroepen word :)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

weet je wel zeker dat je query goed meegegeven wordt in de functie?
even een echo aan de query die in de functie zit.... gewoon even om te checken
en misschien kan je ook ff een echo geven voor alle nodige gegevens van de db connectie zodat je weet dat die gegevens ook allemaal kloppen

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Je moet mysql_fetch_array() gebruiken om $result te bekijken. Die 1 is om te kunnen controleren of er uberhoubt reslutaten van de query is:

PHP:
1
2
3
4
5
if ($result) { // Dit hoeft niet, maar is even een voorbeeld
   while ($output = mysql_fetch_array($results)) {
      echo $output[0], $output[1], $output['naam'];
   }
}


Ook ik vind het niet echt verstandig om voor elke query een nieuwe connectie te leggen. Include liever die includes/mysql.php eerder en gebruik in je function:
PHP:
1
global $db_connect;


PS: Ik kan je wel ff matsen als je wil, want ik heb toevallig ook een zeer uitgebreide database class die ik je wel ff wil mailen?

[ Voor 43% gewijzigd door Room42 op 12-06-2004 01:34 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

dit is een functie die ik gebruik om een dropdown list te vullen vanuit mysql

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  $link = mysql_connect( "localhost", "opvraag", "opvraag");
  mysql_select_db( "helpdesk", $link );

  function selecttable($thetable)
   {
     $result = mysql_query("SELECT * FROM $thetable ORDER BY id");  
     $i=1;
     while ($row = mysql_fetch_array($result)) 
      { 
       echo "<option value=\"$i\">$row[1]</option>"; 
       $i++;
      } 
     mysql_free_result($result);  
   }

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Room42 schreef op 12 juni 2004 @ 01:26:
Je moet mysql_fetch_array() gebruiken om $result te bekijken. Die 1 is om te kunnen controleren of er uberhoubt reslutaten van de query is:

PHP:
1
2
3
4
5
if ($result) { // Dit hoeft niet, maar is even een voorbeeld
   while ($output = mysql_fetch_array($results)) {
      echo $output[0], $output[1], $output['naam'];
   }
}
mysql_fetch_array binnen de functie geeft een error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/filesystem/morax.globalmadness.com/index.php on line 10
Ook ik vind het niet echt verstandig om voor elke query een nieuwe connectie te leggen. Gebruik liever
PHP:
1
global $db_connect;
Mijn antwoord daarop was:
Die telkens nieuwe connectie klopt, het is maar even om te proberen. Als het werkt kan ik verder met mijn class ;)
PS: Ik kan je wel ff matsen als je wil, want ik heb toevallig ook een zeer uitgebreide database class die ik je wel ff wil mailen?
Graag :D Mijn e-mailadres staat in mijn profiel. Ik kan hem dan gebruiken en er eventueel ook van leren. Als je dat wil, zou het _/-\o_ zijn.

EDIT:
Peluso schreef op 12 juni 2004 @ 01:25:
weet je wel zeker dat je query goed meegegeven wordt in de functie?
even een echo aan de query die in de functie zit.... gewoon even om te checken
en misschien kan je ook ff een echo geven voor alle nodige gegevens van de db connectie zodat je weet dat die gegevens ook allemaal kloppen
Als ik de query binnen de functie echo, komt daar gewoon de query uit zoals ik hem aan de functie meegeef :)

[ Voor 20% gewijzigd door Morax op 12-06-2004 01:38 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zoals sjaakduhuuhl al zei: print_r is een functie die gemaakt is om arrays af te drukken, en jij wil er een resource id mee afdrukken. Dat gaat dus fout. ;) Dus eerst een array fetchen, en dan print_r gebruiken.

In de user notes van mysql_fetch_array staat een functie die je kan gebruiken in plaats van jouw print_r:
PHP:
1
2
3
4
5
6
7
function mysql_fetch_array_r($result,$result_type=MYSQL_ASSOC) {
       $arr=array();
       for($i=0;$i<@mysql_num_rows($result);$i++)  { // faster ?
               array_push($arr,@mysql_fetch_array($result,$result_type)); // faster ?
       }
       return print_r($arr); // on error, $arr is empty
}

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
[b]Morax schreef op 12 juni 2004 @ 01:35:
mysql_fetch_array binnen de functie geeft een error:
[...]
Kan komen omdat ik $results gebruikte en niet $result :D

Ik ben ff een mailtje aan het formuleren voor je :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
NMe84 schreef op 12 juni 2004 @ 01:41:
Zoals sjaakduhuuhl al zei: print_r is een functie die gemaakt is om arrays af te drukken, en jij wil er een resource id mee afdrukken. Dat gaat dus fout. ;) Dus eerst een array fetchen, en dan print_r gebruiken.

In de user notes van mysql_fetch_array staat een functie die je kan gebruiken in plaats van jouw print_r:
PHP:
1
2
3
4
5
6
7
function mysql_fetch_array_r($result,$result_type=MYSQL_ASSOC) {
       $arr=array();
       for($i=0;$i<@mysql_num_rows($result);$i++)  { // faster ?
               array_push($arr,@mysql_fetch_array($result,$result_type)); // faster ?
       }
       return print_r($arr); // on error, $arr is empty
}
Zoals ik al zei, dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function query($query)
{
   //De include binnen de functie zodat $db_connect in de functie beschikbaar is
   include('includes/mysql.php');

   $result = mysql_query($query, $db_connect)|| die ('Er ging iets fout:<BR>'.mysql_error());
   
   $result = mysql_fetch_array($result);

   return $result;
}

$query = 'SELECT * FROM tabel WHERE waarde=\'iets\';';

$result = query($query);

print_r($result);

levert
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/filesystem/morax.globalmadness.com/index.php on line 12
op :)

EDIT:
Room42 schreef op 12 juni 2004 @ 01:43:
[...]
Kan komen omdat ik $results gebruikte en niet $result :D

Ik ben ff een mailtje aan het formuleren voor je :)
Die extra s in $results was een typo :D Je bent wel erg oplettend ;)

Maar alvast erg bedankt voor de mail _/-\o_ _/-\o_ _/-\o_

Ik heb hem nog niet, maar hij zal zo wel komen :)

[ Voor 16% gewijzigd door Morax op 12-06-2004 01:50 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als ie zegt dat je geen valid result set hebt, dan klopt de query gewoon niet, of anders de connectievariabele $db_connect. Als je die of global maakt, of gewoon als parameter aan de functie doorgeeft, dan is er geen enkel probleem verwacht ik. Mits je query in orde is, en je een van de bovenstaande codes gebruikt, want de jouwe werkt sowieso niet, zoals ik al zei. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Query klopt 100%, die werkt wel als ik de meuk niet in een functie zet en daar kom ik verder niet aan. En als de query niet klopte, dan zou dit
PHP:
1
|| die ('Er ging iets fout:<BR>'.mysql_error());
een foutmelding moeten geven, maar dat doet het niet.
Verder werkt $db_connect wel, want anders krijg je een foutmelding in de zin van "Parameter is not a valid mysql link resource" oid.

Ik weet ook niet wat er hier aan de hand is hoor :/

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
hmm chek je mail maar :)
wellicht dat je daarmee het licht ziet :)

[ Voor 48% gewijzigd door Room42 op 12-06-2004 02:01 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als $db_connect een lege string is, dan is dat ook valid geloof ik, maar pin me er niet op vast. Probeer eens te controleren of die variabele leeg is.

Tenzij je graag met de class van sjaakduhuuhl verder wil, maar ik denk dat je meer leert als je de fout uit je eigen functie haalt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Zou je eigenlijk includes/mysql.php even moeten posten als ie niet te lang is...

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Room42 schreef op 12 juni 2004 @ 02:01:
hmm chek je mail maar :)
wellicht dat je daarmee het licht ziet :)
Dank u wel, ik ga er zo naar kijken :)
NMe84 schreef op 12 juni 2004 @ 02:02:
Als $db_connect een lege string is, dan is dat ook valid geloof ik, maar pin me er niet op vast. Probeer eens te controleren of die variabele leeg is.

Tenzij je graag met de class van sjaakduhuuhl verder wil, maar ik denk dat je meer leert als je de fout uit je eigen functie haalt. :)
Een echo van $db_connect in de functie klopt ook :)

Ik wil sowieso verder gaan met mijn eigen klasse. Die klasse van sjaak gebruik ik vooral om zelf ook weer bij te leren ;)
Room42 schreef op 12 juni 2004 @ 02:08:
Zou je eigenlijk includes/mysql.php even moeten posten als ie niet te lang is...
U vraagt, wij draaien :D
PHP:
1
2
3
4
5
6
$host = "localhost";
$db_naam = "site";
$username = "username";
$wachtwoord = "password";
$db_connect = mysql_connect($host, $username, $wachtwoord) or die ("Could not connect to the database:<BR>". mysql_error() .");
mysql_select_db($db_naam, $db_connect) or die ("Could not find database \"site\"");

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

PHP:
1
2
$db_connect = mysql_connect($host, $username, $wachtwoord) or die ("Could not connect to the database:<BR>". mysql_error() ."); 
mysql_select_db($db_naam, $db_connect) or die ("Could not find database "site\"");


hier ook een typo neem ik aan? anders kan het wel kloppen dat het fout gaat
op het eind na die db_connect kan je die ." weghalen....

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Idd, en in de die (als in doodgaan, niet het Nederlandse verwijswoord :+) functie zit ook wat niet goed. :)

Staat error_reporting overigens op E_ALL?

[ Voor 23% gewijzigd door NMe op 12-06-2004 02:19 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Die mysql_error ff stiekem toegevoegd, zodat niemand zou beginnen van "zet daar eens ... neer" :P In de originele file staat er alleen
PHP:
1
or die ("Could not connect to database");


En bij
PHP:
1
or die ("Could not find database \"site\"");
staat nog wel een backslash om die " te escapen, maar die word niet geparsed door react :?

edit:
hier parsed react hem weer wel :/


Die error reporting zou op E_ALL moeten staan, maar ik zal het er nog even expliciet bij zetten en kijken of het helpt :)

iig al heel veel dank voor de hulp tot nu toe _/-\o_

[edit2]
PHP:
1
error_reporting(E_ALL);

levert hetzelfde op, een wit scherm met alleen een 1...
Programmeer ik nu zo slecht, of doet de server het gewoon vaag, want ik word er gek van ;(

[ Voor 35% gewijzigd door Morax op 12-06-2004 02:26 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

AHA!~!!!! ff iets gezocht

haal de ; eens weg uit je query string!!!
mysql_query() sends a query to the currently active database on the server that's associated with the specified link identifier. If link_identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if mysql_connect() was called with no arguments, and use it. The result of the query is buffered.

Note:
The query string should not end with a semicolon.
als ik het nu logisch redeneer dan:
hij zou de db_connect moeten pakken, maar omdat je die identifier opgeeft in je mysql_query wil die die pakken, maar omdat je query met een ; eindigt (maar dat voor de manier die jij gebruikt niet mag) gaat het fout

[ Voor 99% gewijzigd door WPN op 12-06-2004 02:46 ]

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Peluso schreef op 12 juni 2004 @ 02:43:
AHA!~!!!! ff iets gezocht

haal de ; eens weg uit je query string!!!


[...]


als ik het nu logisch redeneer dan:
hij zou de db_connect moeten pakken, maar omdat je die identifier opgeeft in je mysql_query wil die die pakken, maar omdat je query met een ; eindigt (maar dat voor de manier die jij gebruikt niet mag) gaat het fout
Leuk, maar ook zonder ; achter de query kijk ik nog steeds naar een wit scherm met alleen een "1" :)

De query is nu zo (dit is de originele query zoals hij ook in mijn file staat:
PHP:
1
$query = 'SELECT * FROM users WHERE id=\'1\'';


En nogmaals, zonder de query via een functie te doen werkt hij d:)b Pas als ik een query via een functie wil draaien gaat het fout :?

[ Voor 22% gewijzigd door Morax op 12-06-2004 02:50 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

fock!


hoeveel records heb je in je database met "iets" (je query zoekt daar op) ?


probeer eens een print_r op je $result in je functie

[ Voor 30% gewijzigd door WPN op 12-06-2004 02:55 ]

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Peluso schreef op 12 juni 2004 @ 02:49:
fock!


hoeveel records heb je in je database met "iets" (je query zoekt daar op) ?
Zoals je in mijn ge-editte post boven de jouwe kan zien, zoekt hij in de tabel "users" welke op het moment zo'n 5 records bevat :)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Ik heb het :)

Die error bij mysql_fetch_array komt door "|| die ('Er ging iets fout:<BR>'. mysql_error());"
Haal dat maar eens weg en het werkt.

Edit: Als je error trappin' wil, gebruik dan dit:

PHP:
1
2
3
4
5
if ($result = mysql_query($query, $db_connect)) {
  return $result;
} else {
  echo 'Er ging iets fout:<BR>'. mysql_error();
}

[ Voor 46% gewijzigd door Room42 op 12-06-2004 02:58 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Room42 schreef op 12 juni 2004 @ 02:55:
Ik heb het :)

Die error bij mysql_fetch_array komt door "|| die ('Er ging iets fout:<BR>'. mysql_error());"
Haal dat maar eens weg en het werkt.
Mijn persoonlijke held :> _/-\o_

Wat is de precieze reden als ik vragen mag? En wat is in dat geval de beste manier om errors op te vangen?

Hoe wil je dat ik je vermeld in mijn sig? :+ :D Zeg het maar en je komt erin :) "PHP-held sjaakduhuuhl" ofzo? :P

[ Voor 24% gewijzigd door Morax op 12-06-2004 03:01 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Zie mijn edit.
Rede weet ik niet :D
Maar ik hoor zowiezo altijd dat "or die ()" vaak als "vies programmeren" omschreven wordt. Ik gebruik het dan zelf ook eigenlijk nooit.

[ Voor 64% gewijzigd door Room42 op 12-06-2004 03:04 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Room42 schreef op 12 juni 2004 @ 03:00:
Zie mijn edit.
Rede weet ik niet :D
Maar ik hoor zowiezo altijd dat "or die ()" vaak als "vies programmeren" omschreven wordt. Ik gebruik het dan zelf ook eigenlijk nooit.
Nooit geweten dat dat "vies programmeren" is :o Dan ga ik het inderdaad maar anders doen voortaan :)

Als je het gemist hebt :) :
Morax schreef op 12 juni 2004 @ 02:58:
Hoe wil je dat ik je vermeld in mijn sig? :+ :D Zeg het maar en je komt erin :) "PHP-held sjaakduhuuhl" ofzo? :P

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

Room42 schreef op 12 juni 2004 @ 02:55:
Ik heb het :)

Die error bij mysql_fetch_array komt door "|| die ('Er ging iets fout:<BR>'. mysql_error());"
Haal dat maar eens weg en het werkt.

Edit: Als je error trappin' wil, gebruik dan dit:

PHP:
1
2
3
4
5
if ($result = mysql_query($query, $db_connect)) {
  return $result;
} else {
  echo 'Er ging iets fout:<BR>'. mysql_error();
}
ik hoop dat dit het is want ik ga pitten!
kan amper nog uit me kop kijken....


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 function getuser($query)
 {
  $check = mysql_query($query) or die("error: ".mysql_error());
  $login = mysql_fetch_row($check);
  mysql_free_result($check);  
  return $login;
 }


 $sql = "SELECT user_id, user_name, user_setup
         FROM users
         WHERE user_name LIKE '$username' AND user_password = '$password'";

 $login = getuser($sql);


dit werkt gewoon direct bij mij (let op, ik specificeer de link naar de db niet in de functie, omdat die die anders niet kent, zoals ie nu is pakt ie de laatst geopende link met de db, in mijn geval goed, omdat ik maar 1 link gebruik
maar als je meerdere db's open tegelijk ofzow dan zou ik die link naar de db global maken zodat je die kan gebruiken


anyways
this was my 2 cents of contribution ;)

cya

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Hehe ik vind je sig zo eigenlijk al erg grappig! :)

Daarbij komt dat het alleen maar leuk is om te helpen.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

"or functie()" an sich is niet bad practice, maar het gebruik van de die() functie wel. Je kan gewoon beter een eigen functie gebruiken voor het outputten van errors en daarna je script stoppen als je HTML compleet af is gesloten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
NMe84 schreef op 12 juni 2004 @ 03:09:
"or functie()" an sich is niet bad practice, maar het gebruik van de die() functie wel. Je kan gewoon beter een eigen functie gebruiken voor het outputten van errors en daarna je script stoppen als je HTML compleet af is gesloten.
Dat was ik sowieso al van plan :) Had deze functie al klaar staan eigenlijk, vraag me aub niet waarom ik die nog niet gebruikte ;)
PHP:
1
2
3
4
5
6
7
8
9
function error($melding)
{
    include('includes/header.php');
    echo('<font class="error">');
    echo($melding);
    echo('</font>');
    include('includes/header.php');
         exit();
}
Room42 schreef op 12 juni 2004 @ 03:05:
Hehe ik vind je sig zo eigenlijk al erg grappig! :)

Daarbij komt dat het alleen maar leuk is om te helpen.
Geloof me, ik ben je ERG dankbaar _/-\o_
Ik ben klaar met mijn examens dus ben weer wat gaan bijleren, en daar had ik ook wel zin in, tot ik vandaag dit probleem tegenkwam ;)

En nu help je me met mijn probleem en heb je nog wat extra lappen voorbeeld code waar ik wat mee kan! :D

Je hebt er nog eentje te goed van me :)

[ Voor 35% gewijzigd door Morax op 12-06-2004 03:12 ]

What do you mean I have no life? I am a gamer, I got millions!

Pagina: 1