[PHP/SQL] Warnings bij ODBC_EXEC

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • DaTiezl
  • Registratie: Januari 2004
  • Laatst online: 08-09 08:48
Ik heb een probleemje met mijn php/msql code. Ik heb alles afgezocht maar ik kan niet vinden wat het probleem is. Dit is de code die zou moeten werken:

PHP:
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
$sql5 = "SELECT * FROM KIDOC WHERE Itemcode = '$Itemcode'";
            $sqlres5 = odbc_exec($con,$sql5);

            $docs= array();
    
            while (odbc_fetch_into($sqlres5,$rowarr5))
            {
                $docs[]=     $rowarr5[0];
            }



            for($i=0; $i<sizeof($docs); $i++)
            {
                // Binnenhalen van gegevens van documenten
                $sql6 = "SELECT * FROM Document WHERE Documentnumr = '$docs[$i]'";

                echo $sql6;

                $sqlres6 = odbc_exec($con,$sql6);


Dit zijn de warnings die ik krijg:

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access-stuurprogramma] Er zijn te weinig parameters. Het verwachte aantal is: 1., SQL state 07001 in SQLExecDirect in c:\website\zoekenkennis.php on line 238

Warning: odbc_fetch_into(): supplied argument is not a valid ODBC result resource in c:\website\zoekenkennis.php on line 242

@ Huppie: Tnx! Editted.

[ Voor 39% gewijzigd door DaTiezl op 21-04-2005 11:29 ]

Yesterday's home runs don't win today's games. - Babe Ruth


Acties:
  • 0 Henk 'm!

  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 02-09 09:59
DaTiezl schreef op donderdag 21 april 2005 @ 10:45:
Eerste regel is 218 maar ik weet niet hoe ik dat aangeef..
Zo dus ;)
code:
1
[code=php,218]jouw code[/code]


En dit werkt natuurlijk niet hè :X
PHP:
233
 $sql6 = "SELECT * FROM Document    WHERE Documentnumr = '$docs[$i]'";


probeer dit eens :)

PHP:
233
 $sql6 = "SELECT * FROM Document    WHERE Documentnumr = '". $docs[$i] ."'";

[ Voor 37% gewijzigd door Huppie op 21-04-2005 11:26 ]

Proud member of TCF - D2OL is zooooo 2005


Acties:
  • 0 Henk 'm!

  • DaTiezl
  • Registratie: Januari 2004
  • Laatst online: 08-09 08:48
Waarom zou dat niet werken...ik heb met een exact de zwelfde query het wel voor elkaar gekregen. Ik heb allen variabele namen veranderd.

Jou optie krijgt dezelfde warnings...

Yesterday's home runs don't win today's games. - Babe Ruth


Acties:
  • 0 Henk 'm!

  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 02-09 09:59
Binnen de quotes kan je niet zomaar gegevens uit een array lezen, je kan (heel ranzig) {} om de variabele heen zetten, maar dat is net zo erg als eval() :) Zodoende zul je dus even uit je quotes moeten om de inhoud van de variabele in de query te zetten.

Proud member of TCF - D2OL is zooooo 2005


Acties:
  • 0 Henk 'm!

  • DaTiezl
  • Registratie: Januari 2004
  • Laatst online: 08-09 08:48
waarom werkt het hier dan wel bij me

PHP:
1
2
3
// Binnenhalen van gegevens van kenniswerkers
$sql3 = "SELECT * FROM Kenniswerker WHERE Afk = '$kwerker[$i]'";
$sqlres3 = odbc_exec($con,$sql3);



bovendien als ik de $sql6 echo dan komt er een goede QUERY te staan:

code:
1
SELECT Documentnumr FROM Document WHERE Documentnumr = '1'

[ Voor 60% gewijzigd door DaTiezl op 21-04-2005 11:39 ]

Yesterday's home runs don't win today's games. - Babe Ruth


Acties:
  • 0 Henk 'm!

  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 02-09 09:59
Misschien dat ie 'm mee kan nemen omdat $i een integer is, maar ik weet iig zeker dat het niet werkt met named indexes :)

Probeer anders even de odbc_error even te krijgen?
PHP:
237
238
239
240
241
$sqlres6 = odbc_exec($con,$sql6);
if( $sqlres6 === false )
{
die( odbc_error() . " - " . odbc_errormsg() );
}

Of zijn deze dezelfde als die die hierboven opgegeven zijn (ja, sorry nog nooit met de odbc lib gewerkt :X)

Proud member of TCF - D2OL is zooooo 2005


Acties:
  • 0 Henk 'm!

  • DaTiezl
  • Registratie: Januari 2004
  • Laatst online: 08-09 08:48
edit:

omg hele dikke fout!

Ik had de naam van de cel in de db verkeerd overgenomen. OMdat de celbreedte kleiner was stond er documentnumr.....terwijl er eigenlijk stond 'documentnummer'

Ik schaam me dood |:( |:(

slotje mag erop!

[ Voor 74% gewijzigd door DaTiezl op 21-04-2005 12:45 ]

Yesterday's home runs don't win today's games. - Babe Ruth

Pagina: 1