fastix®: Eine SQL-Abfrage per GET.

Beitrag lesen

Moin!

»» Das ist ein Code auszug:
»» <?
»»  include("dbconnect.php");
»»  $check = mysql_query("SELECT id FROM gallery WHERE title LIKE "$_GET["date"]"");
»»  include("dbdisconnect.php");
»»  echo $check
»» ?>

<?php
  include 'dbconnect.php'; # ist keine Funktion

/*
  $check = mysql_query("SELECT id FROM gallery WHERE title LIKE $_GET["date"]"");
  Oh oh!
  */

/*
  $sql='SELECT id FROM gallery WHERE title = "'.$_GET['date'].'"';
   Das wäre wohl richtige Syntax, aber unsicher, in einer echten
   Webanwendung könnte die Datenbank angegriffen werden.
   Gut finde ich es, dass Du die SQL-Anweisungen GROSS und
   die Daten klein geschrieben hast. Also machen wir es besser:
  */
    $sql='SELECT id FROM gallery WHERE title = "'.mysql_real_escape_string(trim($_GET['date'])).'"';

$result = mysql_query($sql) or die('<hr>'.mysql_error().'<hr>'.$sql.'<hr>')
  echo 'Es wurden '.mysql_num_rows().' Datensätze zurückgegeben, die '.htmlentities($_GET['date']).' enthalten.
  include 'dbdisconnect.php'; # Äh... da steht nur ein Befehl
                              #drin...oder? Macht das Sinn?
?>

Schau also

  • mysql_real_escape_string()
  • htmlentities ()
  • trim()
  • die()

bei PHP.net nach.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development