Query fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

Java Developer

Java Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 09:28:01
Quote Anchor link
Hallo,

Ik heb een fout in mijn query staan, maar ik kom er zelf niet uit.

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given on line 63

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
<?php
$modules
= "SELECT
            tbl_kortingen.titel as titel,
            tbl_kortingen.bedrag as prijs
            FROM
            tbl_kortingen
            WHERE tbl_kortingen.id_administration IN ("
.implode(",",$idadmin).")";


        
        $results = mysql_query($modules);
            while ($rows = mysql_fetch_array($results)){
               return $rows['titel'];
              
              
            }


?>


Weten jullie hoe ik dit kan oplossen?

Alvast bedankt!
 
PHP hulp

PHP hulp

27/11/2024 23:23:01
 
Kees Schepers

kees Schepers

24/01/2012 09:41:51
Quote Anchor link
Het beste advies wat ik je kan geven is door eerst te constateren wat er precies fout gaat. Je hebt nu namelijk geen foutafhandeling.

Ik kan je ten sterkste PDO aanraden, maar om het bij dit topic te houden zou ik het volgende even toevoegen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$results
= mysql_query($modules);

if(false === $results) {
  trigger_error('query fout: ' . mysql_error(), E_USER_ERROR);
}


while...
?>


En ik denk dat het fout gaat met de implode. Wat je misschien beter kan doen is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$sql
= 'SELECT .. FROM ...';
$sql .= 'WHERE tbl_kortingen.id_administration IN("' . implode('",", $ids) . '")';
?>


En als je zeker wilt zijn dat ID's integers zijn (werkt alleen in php 5.3:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$ids
= array_map('intval', $ids);
?>


Hiermee voorkom je eventuele SQL-injectie.

Success!
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 09:49:51
Quote Anchor link
Hey,
Bedankt voor het meedenken.

Op deze manier bij de implode geeft hij aan dat $idadmin geen array is:
Warning: implode() [function.implode]: Argument must be an array

Terwijl als ik doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print_r($idadmin );
?>


De output dan netjes dit is:
Array ( [0] => 1
[1] => 2
)
 
Kees Schepers

kees Schepers

24/01/2012 09:53:47
Quote Anchor link
Zou je nog eens volledig je script willen posten? Dus inclusief declaratie van $idadmin, of komt dat van een formulier oid?
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 10:00:33
Quote Anchor link
Hier haal ik $idadmin weg:
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
<?php
$query
= "SELECT tbl_customers.name as client,
                    tbl_administrations.id as idadmin,
                    tbl_administrations.name as admin
                    FROM tbl_customers,
                    tbl_administrations
                    WHERE
                    tbl_customers.id = "
.$id." AND
            tbl_administrations.id_customer = "
.$id;
    $result = mysql_query($query);
    $array = array();
        while ($row = mysql_fetch_array($result)){
            
            $admin =  $row['admin'] ."<br>";
            $client =  $row['client'] ."<br>";
            $idadmin[] =  $row['idadmin'] ."<br>";
            
            $array[] = $idadmin;
        }

        
        print_r( $idadmin);

?>
 
Kees Schepers

kees Schepers

24/01/2012 10:09:42
Quote Anchor link
Arrghh! MySQL-injection :p Lees het even goed door en wees bewust van de risico's.

Ik heb je script even beveiligd en fout afhandeling toegevoegd:

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
<?php
$query
= "SELECT tbl_customers.name as client,
                    tbl_administrations.id as idadmin,
                    tbl_administrations.name as admin
                    FROM tbl_customers,
                    tbl_administrations
                    WHERE
                    tbl_customers.id = "
. (int)$id . " AND
            tbl_administrations.id_customer = "
. (int)$id;
    $result = mysql_query($query);

    if(false === $result) {
      trigger_error('query fout: ' . mysql_error(), E_USER_ERROR);
    }


    $array = array();
    if(mysql_num_rows($result) > 0) {
        while ($row = mysql_fetch_array($result)){
            
            $admin =  $row['admin'] ."<br>";
            $client =  $row['client'] ."<br>";
            $idadmin[] =  $row['idadmin'] ."<br>";
            
            $array[] = $idadmin;
        }
     }

        
     print_r( $idadmin);
?>


En als ik het bij mij met command line shell in PHP uitvoer krijg ik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
php > $array = array('test', 3, 5);
php > $array = array_map('intval', $array);
php > $sql = 'WHERE tbl_kortingen.id_administration IN("' . implode('","', $array) . '")';
php > echo $sql;
WHERE tbl_kortingen.id_administration IN("0","3","5")


Hier zie ook wat het gevolg is van die array_map. Die zorgt ervoor 'test' -> 0 wordt. 'test' Had namelijk ook DROP TABLE administrations; ofzo kunnen zijn.


Als je deze foutmelding krijgt:
Warning: implode() [function.implode]: Argument must be an array

Doe daar eens een regel boven:
var_dump($idadmin);

Controleer ook even de namen want daar heb ik niet naar gekeken!
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 11:46:01
Quote Anchor link
Werkt helaas nog steeds niet echt,
dit is de output:

Array ( [0] => 1
[1] => 2
)
Warning: implode() [function.implode]: Argument must be an array on line 65
array(2) { [0]=> string(5) "1
" [1]=> string(5) "2
" }
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given on line 70
 
Kees Schepers

kees Schepers

24/01/2012 11:58:58
Quote Anchor link
Gebruik je ook wel echt de juiste variabele in je implode functie? Want daar lijkt het nu fout te gaan.

Post anders de volledige code?
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 12:02:31
Quote Anchor link
De gehele functie:

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
56
57
58
59
60
61
62
63
64
<?php
function getDiscount($client){
    $dbid = "SELECT
                tbl_customers.id as id
            FROM
                tbl_customers
            WHERE
                tbl_customers.name LIKE \"%$client%\"
                "
;
    $resultat = mysql_query($dbid) or die ( mysql_error());
        while ($line = mysql_fetch_array($resultat)){  
            $id = $line['id'];
        }

        
        
    $query = "SELECT tbl_customers.name as client,
                    tbl_administrations.id as idadmin,
                    tbl_administrations.name as admin
                    FROM tbl_customers,
                    tbl_administrations
                    WHERE
                    tbl_customers.id = "
. (int)$id . " AND
            tbl_administrations.id_customer = "
. (int)$id;
    $result = mysql_query($query);

    if(false === $result) {
      trigger_error('query fout: ' . mysql_error(), E_USER_ERROR);
    }


    $array = array();
    if(mysql_num_rows($result) > 0) {
        while ($row = mysql_fetch_array($result)){
            
            $admin =  $row['admin'] ."<br>";
            $client =  $row['client'] ."<br>";
            $idadmin[] =  $row['idadmin'] ."<br>";
            
            $array[] = $idadmin;
        }
     }

        
     print_r( $idadmin);
          
      
    $modules = "SELECT
            tbl_kortingen.titel as titel,
            tbl_kortingen.bedrag as prijs
            FROM
            tbl_kortingen
            WHERE tbl_kortingen.id_administration IN("
. implode('",", $idadmin) . "');


        
        $results = mysql_query($modules);
            while ($rows = mysql_fetch_array($results)){
               echo $modules;
              
              
            }
            
            
            
    }

?>
 
- SanThe -

- SanThe -

24/01/2012 12:08:24
Quote Anchor link
IN(" . implode('",", $idadmin) . "');

Dit moet zijn:
IN('" . implode("','", $idadmin) . "')";
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 12:10:38
Quote Anchor link
Thanks!

Ik heb voor nu de output die ik hoor te zien :)


Toevoeging op 24/01/2012 14:45:08:

Klein vraagje:

Ik heb hier een array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$admin
[] =  $row['admin'];
$administrations[] = $admin;
?>


En nu zou ik graag de values die hierin zetten willen echoën op het scherm, zonder dat je dit krijgt 0 => 1 etc.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($administrations as $key => $value){
                   echo $value;
               }

?>


Dit geeft als uitkomst 'Array'.
Wat doe ik verkeerd?
 
Pieter Jansen

Pieter Jansen

24/01/2012 15:20:49
Quote Anchor link
Dat betekent dat de $value ook een array is. M.a.w. de $administrations tabel is een multidimensionale array, arrays binnen arrays. Wat je zou kunnen doen is recursief loopen door alle nodes, dus een simpele check of het een array is.

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

function RecursiveCheck(array $array)
{

    foreach ($array as $k => $v )
    {

        if(is_array($v)){
            RecursiveCheck($v);
        }

        else{
            echo "Key: " . $k  . " met value: " . $v . '<br/>';
        }
    }
}

?>
Gewijzigd op 24/01/2012 15:22:01 door Pieter Jansen
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 16:19:43
Quote Anchor link
Nu gooit hij mijn array leeg als ik dit doe en krijg ik key als 0 en value '' .
 
Kees Schepers

kees Schepers

24/01/2012 16:59:12
Quote Anchor link
Met een beetje testen moet je hier zelf wel uitkomen hoor! Gebruik bijvoorbeeld print_r() om te zien hoe je array eruit ziet en vervolgens kun je daarmee kijken hoe je hem moet doorlopen.

Met wat je nu geeft kunnen wij niet zien waaruit $admin is opgebouwd. En je doet $admin[]= $row['admin']; maar moet dat niet gewoon $admin = $row['admin'] zijn?
 
Marijke Hakvoort

Marijke Hakvoort

24/01/2012 17:01:24
Quote Anchor link
met print_r() kreeg ik de array te zien, maar $key en $value kon ik niet echoën binnen de foreach. Op de 1 of andere manier verandert er het 1 en ander in de array binnen de foreach
 
- SanThe -

- SanThe -

25/01/2012 15:35:14
Quote Anchor link
Marijke Hakvoort op 24/01/2012 12:10:38:
Ik heb hier een array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$admin
[] =  $row['admin'];
$administrations[] = $admin;
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($administrations as $key => $value){
                   echo $value;
               }

?>


Lijkt mij een beetje vreemde constructie. Je zet $row['admin'] in het array $admin en daarna zet je het complete array $admin weer in een ander array $administrations.

Maar okee:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
foreach ($administrations as $key1 => $value1)
{

    foreach ($value1 as $key2 => $value2)
    {

        echo $value2 . '<br />';
    |
|

?>
 



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.