Meerdere sql queries in php

helmuteke
Pro Member
Pro Member
Berichten: 400
Lid geworden op: 08 Feb 2010
Bedankt: 24 keer
Uitgedeelde bedankjes: 2 keer

Meerdere sql queries in php

Berichtdoor helmuteke » 14 Jul 2017, 19:36

ik ben weer wat aan foefelen maar zit met volgende probleem

ik maak een connectie (ok via mysql nog niet de PDO of mysqli) met een mysql db en doe dan een stored procedure met parameter.

De eerste query loopt perfect maar als ik dan een tweede erachter gooi dan krijg ik een foutmelding.
Comment ik de eerste en voer ik de 2de uit dan ga dit wel.

Code: Selecteer alles

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
//$data = $_POST["data"];

$data = "5142186";

$con = mysql_connect("localhost", "root", "xxxxxxx.");

if (!$con) {
    die("Error: " . mysql_error());
}

mysql_select_db("24uur20175", $con);
$result = mysql_query("call link2(".$data.")");
while ($row = mysql_fetch_array($result)) {
                       
                        $naam = $row[1];
                        $ploegnr = $row[0];
                       
                    }




$strquery = "call laatstedoorkoming(".$ploegnr.")";
$result2 = mysql_query($strquery);

 while ($row2 = mysql_fetch_array($result2)) {
                       
                        $tijdstamplaatste = $row2[2];
                       
                    }


echo "|".$ploegnr." | ".$naam." | ".$tijdstamplaatste." | ".$strquery." |";

?>



Als fout krijg ik volgende

Code: Selecteer alles

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/html/system/check.php on line 34


en de echo output is

Code: Selecteer alles

2 | The Crazy Bernarts | | call laatstedoorkoming(2) |


Iemand die me op weg kan brengen

guntherstassen
Plus Member
Plus Member
Berichten: 199
Lid geworden op: 09 Feb 2011
Locatie: Sint-Truiden
Bedankt: 24 keer
Uitgedeelde bedankjes: 2 keer

Re: Meerdere sql queries in php

Berichtdoor guntherstassen » 14 Jul 2017, 19:50

Wat is de output van $ploegnr vor uw 2de query?
volgens mij is uw variable $ploegnr leeg als je de 2de query runt

helmuteke
Pro Member
Pro Member
Berichten: 400
Lid geworden op: 08 Feb 2010
Bedankt: 24 keer
Uitgedeelde bedankjes: 2 keer

Re: Meerdere sql queries in php

Berichtdoor helmuteke » 14 Jul 2017, 19:54

Dit is 2 ,zie je in de echo waar ik de call string toon

blaatpraat
Premium Member
Premium Member
Berichten: 534
Lid geworden op: 10 Jan 2014
Bedankt: 44 keer
Recent bedankt: 6 keer
Uitgedeelde bedankjes: 17 keer

Re: Meerdere sql queries in php

Berichtdoor blaatpraat » 14 Jul 2017, 20:19

Vervang

Code: Selecteer alles

$result = mysql_query("call link2(".$data.")");


Door

Code: Selecteer alles

$result = mysql_query("call link2(".$data.")") or die(mysql_error());


En ook al haal je het aan in je post: maak gebruik van PDO, waarom nog eerst zitten klooien met mysql-*?

helmuteke
Pro Member
Pro Member
Berichten: 400
Lid geworden op: 08 Feb 2010
Bedankt: 24 keer
Uitgedeelde bedankjes: 2 keer

Re: Meerdere sql queries in php

Berichtdoor helmuteke » 15 Jul 2017, 09:36

Dus alles overgezet naar PDO

Code: Selecteer alles

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
//$data = $_POST["data"];

$data = "5142186";

$db = new PDO('mysql:host=localhost;dbname=24uur20175;charset=utf8mb4', 'root', 'xxxxxxx.');

$stmt = $db->query("call link2(".$data.")");
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['ID'].' '.$row['naam']; //etc...
    $ploegnr = $row['ID'];
    $naam = $row['naam'];
}

$stmt = $db->query("call laatstedoorkoming(".$ploegnr.")");
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['ID'].' '.$row['Tijdstamp']; //etc...
    $tijdstamplaatste = $row['Tijdstamp'];
   
}


?>


resultaat op scherm is

Code: Selecteer alles

2 The Crazy Bernarts
Fatal error: Call to a member function fetch() on boolean in /var/www/html/system/checkpdo.php on line 19


dus wederom val ik op de 2de query


EDIT :

Met onderstaande lukt het wel


Code: Selecteer alles

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
//$data = $_POST["data"];

$data = "5142186";

$db = new PDO('mysql:host=localhost;dbname=24uur20175;charset=utf8mb4', 'root', 'xxxxxxxx');


$sql =  "call link2(".$data.")";
$stmt = $db->prepare($sql);
$stmt->execute();
if($stmt->errorCode() == 0) {
    while(($row = $stmt->fetch()) != false) {
        echo $row['ID'] .$row['naam'] . "\n";
        $ploegnr = $row[ID];
    }
} else {
    $errors = $stmt->errorInfo();
    echo($errors[2]);
}





$sql =  "call laatstedoorkoming(".$ploegnr.")";
$stmt = $db->prepare($sql);
$stmt->execute();
if($stmt->errorCode() == 0) {
    while(($row = $stmt->fetch()) != false) {
        echo $row['Tijdstamp'] . "\n";
    }
} else {
    $errors = $stmt->errorInfo();
    echo($errors[2]);
}






?>


Terug naar “Web-en applicatie-ontwikkeling”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast