Avatar billede googolplex Novice
07. marts 2005 - 21:37 Der er 1 løsning

PHP5/MySQLi - prepared statements

Jeg har siddet og arbejdet med PHP5/MySQLi og prepared statements og det virker glimrende. Men jeg tror jeg har misforstået noget...

Jeg har kigget på eksempel 3-5 på https://www.zend.com/php5/articles/php5-mysqli.php

INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)

SELECT Code, Name FROM Country WHERE Code LIKE ? LIMIT 5

Ovenstående SQL har jeg ingen problemer med, men hvis jeg fx prøver med:

SELECT Code, Name FROM Country WHERE Code LIKE ? LIMIT ?

Så virker det ikke. Hvorfor kan jeg ikke binde en parameter til LIMIT ?

Det er ikke det eneste tilfælde hvor der er parametre jeg ikke kan få til at fungere. Jeg troede at jeg bare kunne smide '?' ind hvor jeg har lyst, men sådan virker det ikke eller hvad ?
Avatar billede googolplex Novice
07. marts 2005 - 23:04 #1
Jeg fandt hvis forklaringen selv:

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

    Note: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

    However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester