Toon posts:

[php&db] Gegevens uit record halen, vage error *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hier vult hij het dropdown menu met de titels uit de db.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="datafilmactresultaat.php" method="post">
<?php 
$connection_string=odbc_connect('movies','',''); 
$query="SELECT titel FROM film";    
$queryexec=odbc_exec($connection_string,$query); 
echo "<select name=\"filmnr\">"; 
while ($rij = odbc_fetch_array($queryexec)) { 
echo "<option>"; 
echo $rij["titel"]; 
echo "</option>\n"; 
} 
echo "</select>"; 
?>


En hier hoort hij de bijbehorende gegevens eruit te halen als ik de titel heb gekozen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

$connection_string = odbc_connect("movies", "", "");
$query = ("SELECT * FROM film WHERE filmnr = '".$_POST['filmnr']."'");

    
    $queryexec = odbc_exec($connection_string, $query);     
    
    while (odbc_fetch_row($queryexec))
    {   
        $filmnr = odbc_result($queryexec, "filmnr");
        $titel = odbc_result($queryexec, "titel");
        $uitgiftejaar = odbc_result($queryexec, "uitgiftejaar");        
        $genre = odbc_result($queryexec, "genre");
        $maatschappij = odbc_result($queryexec, "maatschappij");
        $speelduur = odbc_result($queryexec, "speelduur");      
        
        echo $filmnr." - ".$titel." - ".$uitgiftejaar." - ".$genre." - ".$maatschappij." - ".$speelduur;            
    
    }odbc_close($connection_string);
?>



Maar hij geeft me deze errors:
Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression., SQL state 22005 in SQLExecDirect in line 9
Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result resource

Structuur:
http://members.home.nl/h.key/db.jpg

Vind ik nogal raar, aangezien dit hoort te werken :X

Damn, vergeten topictitel.... |:(

[ Voor 29% gewijzigd door Verwijderd op 14-12-2004 16:59 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

.oisyn schreef op zondag 09 mei 2004 @ 23:40:
Mocht je het zelf nou zien dat je een topictitel vergeten bent, ga dan niet heel stom je bericht lopen editten met iets als

[...]

Daar hebben wij namelijk weinig aan :P. Omdat de mods dan zelf een titel moeten verzinnen, en daardoor eerst de topicstart door moeten lezen, zodat het niet even snel geedit kan worden door een mod die toevallig even langs kwam en weinig tijd had. Dus, als je het ziet, bedenk dan meteen een titel en zet het erbij in je topic of via een topicreport (de [afbeelding]-knop bovenaan je topic), zodat een mod de titel meteen kan aanpassen. Dank u :)
Oftewel; geef even een goede titel aan via de topicreport :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Ow, en het antwoord zal liggen dat je iets als
$query = ("SELECT * FROM film WHERE filmnr = ".$_POST['filmnr']);

zal moeten gebruiken, zonder de single quotes.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Pardon, heb report gedaan :)

Dat klopt, zo had ik het ook gedacht maar dan krijg ik deze error waar ik dan niet uitkwam

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'filmnr = Grand Hotel'., SQL state 37000 in SQLExecDirect in .

Dus had ik het met die quotes gedaan zoals het in m'n boekje stond.

[ Voor 5% gewijzigd door Verwijderd op 14-12-2004 17:07 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

filmnr is niet van het type numeriek? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Jawel, het is numeriek.
(Misschien beetje onduidelijk, maar filmnr is de waarde wat hij meestuurt vanuit het eerste formulier "<select name=\"filmnr\">"; )
Dat is nu minder aan codes knallen, het zal vast ergens iets kleins zijn waar je dan overheen kijkt. :X

[ Voor 35% gewijzigd door Verwijderd op 14-12-2004 17:17 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op dinsdag 14 december 2004 @ 17:07:
Pardon, heb report gedaan :)

Dat klopt, zo had ik het ook gedacht maar dan krijg ik deze error waar ik dan niet uitkwam

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'filmnr = Grand Hotel'., SQL state 37000 in SQLExecDirect in .

Dus had ik het met die quotes gedaan zoals het in m'n boekje stond.
Waarom wil je dan controleren of "Grand Hotel" voorkomt in een numeriek veld? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Doe ik ook niet? (zie vorige post)

Hij hoort de bijbehorende gegevens van Grand Hotel erbij te halen.

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Voeg eens filmnr aan je selectquery toe en dan bij de options ook ;)
Als je geen value erin hebt pakt hij wat ertussen staat, en dat is dus de tekst/titel van de film..

echo "<option value=\"" .$rij["filmnr"] . "\">";
echo $rij["titel"];
echo "</option>\n";

De error
Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'filmnr = Grand Hotel'., SQL state 37000 in SQLExecDirect in .
komt omdat er geen Quotes staan om Grand Hotel. Als het een cijfer is hoeft dit ook niet persé, maar dit is een string...

[ Voor 47% gewijzigd door semicolon op 14-12-2004 17:25 ]

:D/-<


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op dinsdag 14 december 2004 @ 17:19:
Doe ik ook niet? (zie vorige post)

Hij hoort de bijbehorende gegevens van Grand Hotel erbij te halen.
Echo je query eens; daar staat toch echt een string in je WHERE clausule van een veld, waarvan je aangeeft dat deze numeriek is.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Woei thx beide...

En gaf hem dus geen waarde mee en ik had filmnr niet in de select staan.

Cool, het werkt nu, hartstikke bedankt jullie 2 _/-\o_ _/-\o_
Pagina: 1