foutmelding maken op prepare

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerhard timmerman

gerhard timmerman

28/03/2012 11:46:35
Quote Anchor link
omdat ik nog niet echt er uit kom waar me script mis gaat wil ik op alle regels een foutmelding maken. nu heb ik een foutmelding gemaakt op als de database geen conectie heeft deze gaat zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','*****');
if (!$db) {
    die('Kan geen verbinding met de database maken');
}

dat is vrij logiesch met een die als er geen verbinding is maar nu is me vraag hoe maak ik een foutmelding op de volgende regel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
        $sql = $db->prepare("CALL spMagInvoeren(?,?,?,?,?)");


        $username = 'test';
        $wachtwoord = 'test';
        $ip = $_SERVER["REMOTE_ADDR"];
        $computernaam = 'test';
        $sessieid = '500';
$sql->execute();
Gewijzigd op 28/03/2012 11:53:56 door Gerhard timmerman
 
PHP hulp

PHP hulp

26/04/2024 15:46:19
 
Ozzie PHP

Ozzie PHP

28/03/2012 12:06:54
Quote Anchor link
Ik zou geen die gebruiken, maar Exceptions. Lees dit maar eens, ik denk dat je daar een stuk verder mee komt:

http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html#9
 
Gerhard timmerman

gerhard timmerman

28/03/2012 13:31:46
Quote Anchor link
ik heb nu dit zo gemaakt maar krijg nog geen foutmelding in beeld wat heb ik fout

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
<?php
try {
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
echo 'Verbonden met database<br />';
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = $db->prepare("CALL spMagInvoeren(?,?,?,?,?,?,?)");
        $username = 'test';
        $wachtwoord = 'test';
        $ip = $_SERVER["REMOTE_ADDR"];
        $computernaam = 'test';
        $sessieid = '200';
        
    
    $sql->bindParam(1 , $username, PDO::PARAM_INPUT);
    $sql->bindParam(2 , $wachtwoord, PDO::PARAM_INPUT);
    $sql->bindParam(3 , $ip, PDO::PARAM_INPUT);
    $sql->bindParam(4 , $computernaam, PDO::PARAM_INPUT);
    $sql->bindParam(5 , $sessieid, PDO::PARAM_INPUT);
    $sql->bindParam(6 , $poging, PDO::PARAM_OUTPUT);
    $sql->bindParam(7 , $relatieid, PDO::PARAM_OUTPUT);
        $sql->execute();    
    
    }

catch(PDOException $e)
    {

    echo $e->getMessage();
    }


    
    echo "$poging $relatieid";
        
    
?>


ook geeft hij echo poging en relatieid niet weer
Gewijzigd op 28/03/2012 13:39:38 door gerhard timmerman
 
Ozzie PHP

Ozzie PHP

28/03/2012 13:34:37
Quote Anchor link
Zet dit bovenaan ni je code dan krijg je error meldingen in beeld:

error_reporting(-1);
ini_set('display_errors', 1);
 
Gerhard timmerman

gerhard timmerman

28/03/2012 13:38:25
Quote Anchor link
ik heb nu dit als code

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
<?php
error_reporting(-1);
 ini_set('display_errors', 1);
try {
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
echo 'Verbonden met database<br />';
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = $db->prepare("spMagInvoeren");
        $username = 'test';
        $wachtwoord = 'test';
        $ip = $_SERVER["REMOTE_ADDR"];
        $computernaam = 'test';
        $sessieid = '200';
        
    
    $sql->bindParam(@Usernaam , $username);
    $sql->bindParam(@Wachtwoord , $wachtwoord);
    $sql->bindParam(@IPAdres , $ip);
    $sql->bindParam(@Computer , $computernaam);
    $sql->bindParam(@SessieID , $sessieid);
    $sql->bindParam(@PogingenOver , $poging);
    $sql->bindParam(@RelatieNummer , $relatieid);
        $sql->execute();    
    
}

catch(PDOException $e)
    {

    echo $e->getMessage();
    }


    
    echo "$poging $relatieid";
        
    
?>


en krijg de volgende foutmelding
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SQLSTATE[HY000]: General error: 10007 Could not find stored procedure 'spMagInvoeren'. [10007] (severity 5) [(null)]

wat kan dat wezen
Gewijzigd op 28/03/2012 13:54:40 door gerhard timmerman
 
Wouter J

Wouter J

28/03/2012 13:58:48
Quote Anchor link
Met prepare prepare je een query, en een query is niet spMagInvoeren maar meer iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT foo FROM bar
INSERT INTO foo ( bar ) VALUES ('foobar')
UPDATE foo SET bar = 'foobar' WHERE id = 1


PS: Vieze foutonderdrukking (@) is niet echt goed en je bent bij al die variabele $ vergeten.
Gewijzigd op 28/03/2012 13:59:22 door Wouter J
 
Gerhard timmerman

gerhard timmerman

28/03/2012 14:11:02
Quote Anchor link
wout j prepare kan ook gebruikt worden voor een call procedure ik heb de foutmelding er nu al weer uit maar zit nu bij de volgende foutmelding:P.

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
<?php
error_reporting(-1);
 ini_set('display_errors', 1);
try {
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
echo 'Verbonden met database<br />';
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = $db->prepare("CALL spMagInvoeren(?,?,?,?,?,?,?)");
        $username = 'test';
        $wachtwoord = 'test';
        $ip = $_SERVER["REMOTE_ADDR"];
        $computernaam = 'test';
        $sessieid = '200';
        
    
    $sql->bindParam(1 , $username);
    $sql->bindParam(2 , $wachtwoord);
    $sql->bindParam(3 , $ip);
    $sql->bindParam(4 , $computernaam);
    $sql->bindParam(5 , $sessieid);
    $sql->bindParam(6 , $poging);
    $sql->bindParam(7 , $relatieid);
        $sql->execute();    
    
}

catch(PDOException $e)
    {

    echo $e->getMessage();
    }


    
    echo "$poging $relatieid";
        
    
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SQLSTATE[HY000]: General error: 10007 Incorrect syntax near 'test'. [10007] (severity 5) [(null)]
mischien weet jij wat dit is
 



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.