De juiste query maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Richard de Boer

Richard de Boer

30/07/2007 10:51:00
Quote Anchor link
Beste mensen,

Ik heb dit maar het werkt niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$sql
= "SELECT *
                FROM `cpl_li`
                WHERE `userid` = `2` = `$Wie`
                AND `lastconnect` = `$tijd` "
;
        $result = mysql_query($sql);
?>

Het geeft geen foutmelding maar gewoon helemaal niets.

Ik moet vanuit een database een ID selecteren en de LASTCONNECT.
En die dan op het scherm echoén

Groet Rieksie
Gewijzigd op 01/01/1970 01:00:00 door Richard de Boer
 
PHP hulp

PHP hulp

24/04/2024 19:41:16
 
Wout van der Burg

Wout van der Burg

30/07/2007 11:20:00
Quote Anchor link
Ik geloof ook niet dat dit werkt :

WHERE `userid` = `2` = `$Wie`

maak hiervan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$sql
= "SELECT
               *
           FROM
               cpl_li
           WHERE
                (userid LIKE '2' OR userid LIKE '"
.$Wie."')
            AND
                 lastconnect LIKE '"
.$tijd."' ";
        $result = mysql_query($sql);
?>


Hou ook je vars buiten quotes!
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
- wes  -

- wes -

30/07/2007 11:21:00
Quote Anchor link
en de backticks uit je code
 
Wout van der Burg

Wout van der Burg

30/07/2007 11:22:00
Quote Anchor link
Bij deze ook aangepast.. :)
 
Richard de Boer

Richard de Boer

30/07/2007 14:04:00
Quote Anchor link
@Wout


Dank voor je reactie maar je begrijpt me niet denk ik.(mijn fout hoor)

Ik selecteer een ID uit de database en wil dat later als echo $wie weergeven.]

Rieksie
 
GaMer B

GaMer B

30/07/2007 14:08:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql
= "SELECT
               userid
           AS
               wie
           FROM
               cpl_li
           WHERE
                userid = 2
            AND
                 lastconnect LIKE '"
.$tijd."' ";
$result = mysql_query($sql);
$rij = mysql_fetch_array($result);
echo $rij['wie'];
?>
 
Frank -

Frank -

30/07/2007 14:12:00
Quote Anchor link
Doe ook nog wat aan foutafhandeling. Het feit dat je geen error te zien kreeg, doet mij denken dat je nergens controleert of de queries wel zijn gelukt...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// SQL
// Query uitvoeren en in $result zetten


if($result){ // query is gelukt
  // doe iets, bv. fetchen en gaan echoen

}
else { // query mislukt
  echo mysql_error();
}

?>

Dit kan nog een stuk beter, maar het is een begin.
 
Wout van der Burg

Wout van der Burg

30/07/2007 14:14:00
Quote Anchor link
Oei je bent me voor :)
Je moet dan idd in de select wanneer je het veld definieert een alias aanvoegen, je kunt het ook zo doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql
= "SELECT
               *
           FROM
               cpl_li
           WHERE
                (userid LIKE '2' OR userid LIKE '"
.$Wie."')
            AND
                 lastconnect LIKE '"
.$tijd."' ";
        $result = mysql_query($sql);
        while ($row = mysql_fetch_array($result)) {
           $wie = $row['db_veld'];
           echo $wie;
        }

?>
 
Frank -

Frank -

30/07/2007 14:20:00
Quote Anchor link
@Wout: Waarom zou je in vredesnaam LIKE gebruiken? Een userid is een integer, daar kun je dus een normale vergelijking toepassen. IN() is trouwens nog fraaier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
$sql
= "SELECT
               *
           FROM
               cpl_li
           WHERE
                userid IN('2', '"
.$Wie."')
            AND
                 lastconnect LIKE '"
.$tijd."' ";
?>

De IN() is eenvoudig uit te breiden, wanneer daar behoefte aan is.
 
Richard de Boer

Richard de Boer

30/07/2007 18:03:00
Quote Anchor link
@Allemaal

Dit is mijn script maar werkt niet en krijg ook geen foutmelding.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php


// Database connectie
$dbhost = "localhost";
$dbuser = ""; // MySQL gebruikersnaam
$dbpass = ""; // MySQL wachtwoord
$dbname = ""; // database naam

// Connect to MySQL Database

@mysql_connect($dbhost,$dbuser,$dbpass);
@
mysql_select_db($dbname) or die("Geen database geselecteerd");
//einde database connectie





echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#F9F8F8\">";
  echo "<tr>";
  echo "<td>";

            
        
            //-- SELECTEER GEGEVENS!
  $sql = "SELECT
               userid
           AS
               Wie
           FROM
               cpl_li
           WHERE
                userid = 2
            AND
                 lastconnect LIKE '"
.$tijd."' ";
$result = mysql_query($sql);
$rij = mysql_fetch_array($result);
echo $rij['Wie'];




        echo "<img src=\"../img/icons/accountinfo.jpg\" border=\"0\"><br><br>";
        echo "<font face=\"Verdana\" size=\"1\" color=\"#121260\">";

        echo "<b>Wie:</b> $Wie<br>";
        echo "<b>Tijd:</b> $tijd<br>";
        
        
        echo "</td>";
  echo "</tr>";
  echo "</table>";
        
    
  ?>
 
Frank -

Frank -

30/07/2007 18:13:00
Quote Anchor link
Quote:
en krijg ook geen foutmelding.
En waar controleer jij dan of er ergens iets fout gaat? Ik zie nergens een check of $result TRUE of FALSE is.

Verder vermoed ik dat de volgende regels in je script (bovenaan je script) wonderen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);

// rest van de code
?>

En de @-jes in je script gooi je weg, daarmee onderdruk je foutmeldingen en dat wil je niet. Zeker niet tijdens het debuggen!
 
Richard de Boer

Richard de Boer

30/07/2007 19:09:00
Quote Anchor link
@ pgFrank

Ik krijg nu deze foutmelding

Notice: Undefined variable: tijd in /usr/local/psa/home/vhosts/chrisderoo.nl/httpdocs/cplog/usrs/usrs_review.php on line 55


En dit is line 55:

lastconnect LIKE '".$tijd."' ";

Ik snap er he;emaal niets meer van.

Rieksie
 
Frank -

Frank -

30/07/2007 19:12:00
Quote Anchor link
En waar moet $tijd dan vandaan komen? Die bestaat niet, hierdoor zal de query dus geen resultaten opleveren.
 

31/07/2007 13:20:00
Quote Anchor link
idd... ik zag het al toen ik je script door ging lezen.
hij heeft geen enkele link waar hij de variabele waarde $tijd vandaan moet halen dus hij weet ook niet waar die in de database moet naar gaan zoeken.

uitkomst -> geen waarde
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.