query chek

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dave schaafsma

dave schaafsma

08/06/2012 10:30:57
Quote Anchor link
Beste leden.

Ik heb nu 2 query's waarmee ik gegevens haal uit de database of ze niet al bestaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$ipquery   = mysqli_query("SELECT ip   FROM proxies ");
$hostquery = mysqli_query("SELECT host FROM proxies ");


Hoe controleer je of ze al in de database staan en als ze bestaan hij het in een echo neerprint, bestaan ze niet dan voert hij variable $iquery uit !
 
PHP hulp

PHP hulp

06/03/2025 05:56:55
 
Karin Heinen

Karin Heinen

08/06/2012 12:09:09
Quote Anchor link
je kunt een if statement schrijven

if(isset($ipquery)&& isset($hostquery))
{
echo"ze bestaan"
}
else
{
echo"ze bestaan niet"
}
 
Erwin H

Erwin H

08/06/2012 12:12:32
Quote Anchor link
Wat nu als je alles gewoon in 1 keer in een query doet....?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT ip, host
FROM proxies
WHERE ip = ....
OR host = ....

(en dan natuurlijk iets invullen op de puntjes)
Krijg je hier 1 of meer records uit dan bestaat het al, krijg je geen records terug dan bestaat het nog niet.

Overigens kan het zelfs nog makkelijker als je een unieke index zet op ip, host. Probeer je dan een record in te voeren dat ip en host gelijk heeft, dan wordt de insert niet uigevoerd. Je krijgt dan wel een warning terug, maar daar hoef je dan gewoon niets mee te doen. Heb je dus ook geen check nodig.
 
Dave schaafsma

dave schaafsma

08/06/2012 13:08:30
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
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  

    $mysqli
= new mysqli('localhost', 'gebruikersnaam', 'wachtwoord', 'database');  
      
    if (mysqli_connect_errno()) {  
          
            printf("Er kan geen verbinding worden gemaakt");  
            exit();  
              
    }
else {  
              
echo "<doctype html>  <html>  <head>  <meta charset='UTF-8' />  </head>  <body>";  
echo "  <b> IP</b>        <input type='text' name='ip' />           ";  
echo "  <b> HOSTNAME</b>  <input type='text' name='hostname' />     ";  
echo "                    <input type='submit' value='submit' />    ";                      
echo "</body>  </html>";  
}
    




$ipquery   = mysqli_query("SELECT ip   FROM proxies");
$hostquery = mysqli_query("SELECT host FROM proxies");






if(isset($ipquery) && isset($hostquery))

{

    echo "Deze gegevens staan al in de database";
}


    else
    {
       $iQuery = "INSERT INTO proxies (ip,hostname) VALUES (?,?)";  
          
        $stmt = $msqli->prepare($iQuery);  
        $stmt->bind_param('??', $_POST['ip'], $_POST['hostname']);  
          
        if(!$stmt->execute()) {  
              
            echo 'kan query niet uitvoeren' .$stmt->error;  
        }
  
          
        $stmt->close();  
    }






?>



Kijk dit is me code nu ik moet aleen nog chekken of hij op de button drukt wie kan me opweg helpen ? Voert hij nu wel iquery uit ?
Gewijzigd op 08/06/2012 13:17:46 door dave schaafsma
 
John Cena

John Cena

08/06/2012 13:18:30
Quote Anchor link
Formulier maken...?
 
Dave schaafsma

dave schaafsma

08/06/2012 13:51:31
Quote Anchor link
Het lukt me maar niet om dat laatste stukje werkend te maken dammit :( !
 
Erwin H

Erwin H

08/06/2012 14:28:31
Quote Anchor link
Heb je uberhaupt mijn post wel gezien?
Wat je nu doet is echt volkomen verkeerd. Je haalt alle hosts op, dan alle ip adressen en bekijkt dan of twee variabelen zijn gezet. Ik ga je zeggen die isset() functies (beide) leveren ALTIJD true op. Zelfs als er geen enkel record in de database staat en zelfs als de query fout zou gaan. Je checkt dus helemaal NIETS!
 
John Cena

John Cena

22/06/2012 11:32:44
Quote Anchor link
Welk framework gebruik je...?
 
Reshad F

Reshad F

22/06/2012 11:50:25
Quote Anchor link
@karin dat is een heel slecht voorbeeld.

@dave kijk is naar wat Erwin zegt. als je zijn manier volgt krijg je het goed wat je nu doet is kijken of de 2 waardes er zijn. dus je zal altijd een true terugkrijgen

wat je nu doet is SELECT rij1 FROM table en SELECT rij2 FROM table en dan kijk je bestaan de 2 rijen? maar de waardes in die rijen daar kijk je helemaal niet naar

je query moet dan zoiets worden: SELECT rij1, rij2 FROM table WHERE ....=.... AND ....=.....
 



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.