Query fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

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 »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

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

12/05/2024 15:49:28
 
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.