Page 1 sur 1

function dans une query

Posté : 11 juil. 2006, 23:34
par black123
Allo! Je fait :

$sql = mysql_query("SELECT * FROM players ORDER by ov(id)") or die(mysql_error());

où ov() est une fonction fabriquée par moi.

Pour cela me donne-t-il un erreur :

Erreur de syntaxe près de '(id)' à la ligne 1

Et comment fais-je pour pouvoir arrivé à ce résultat?

Merci!

Posté : 11 juil. 2006, 23:55
par Truc
à l'huile :langue: ............... :oops:

c'est du PHP cette fonction ?
Dans ce cas ce n'est pas possible d'utiliser une fonction PHP dans une requête avec en paramètre un champ de table.

que fait-elle ?

Posté : 12 juil. 2006, 07:42
par Cyrano
Techniquement, ce serait possible à deux conditions :
-1- on fait une concaténation propre;
-2- la fonction retourne le nom d'une des colonnes et rien d'autre;
<?php
//...
$sql = mysql_query("SELECT * FROM players ORDER by ". ov(id) .";") or die(mysql_error());
//...
?>
La clause ORDER BY doit être suivie exclusivement du nom d'une des colonnes de la (ou des) table(s) de la clause FROM.

Posté : 12 juil. 2006, 09:32
par Truc
Toutafé encore faut-il que le paramètre (ici id) soit une variable ($id) ou une constante en aucun cas un champ de la table c'est surtout ce que j'ai voulu faire remarquer.