Query fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Back end developer PHP

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

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

13/05/2024 17:34:23
 
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.