Publié dans LAMP, Web le 9 octobre 2009 | sans commentaire

Sous PHP, l’utilisation de paramètres dans SQL peut rendre la tâche fastidieuse avec les multiples concaténations.
La fonction sprintf peut simplifier les choses…

Création de la requête SQL en utilisant la fonction sprintf. Cela permet d’éviter des concaténations fastidieuses.

$sql = sprintf("SELECT *
FROM clients JOIN commandes ON clients.numclient = commandes.numclient
WHERE numclient=%s AND date=%s",
GetSQLValueString($client,"text"),
GetSQLValueString($dateCmd,"date")
);

$rs = mysql_query($sql) or die ("Erreur : 
" . $sql . "
--
" . "" . mysql_error() . "");

Une fonction très pratique dont je ne connais pas l'auteur. Cette fonction permet de protéger les paramètres passés à la requête SQL.

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

Pas de billet en relation.

Étiquettes: ,

Votre commentaire

XHTML: Vous pouvez utiliser ces éléments : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ERREUR : le plugin si-captcha signale que le support de la librairie image GD n'est pas détécté dans le PHP !

Contactez votre hébergeur et demandez pourquoi le support de la librairie image GD n'est pas activé pour PHP.

ERREUR : le plugin si-captcha signale que la fonction imagepng n'est pas détectée dans PHP !

Contactez votre hébergeur et demandez lui pourquoi la fonction imagepng n'est pas activée pour le PHP