Frage

Ich bin derzeit Lernen parametrisierte Abfragen, da es Vorteile gibt, sie zu verwenden.

Könnte jemand einige Hinweise geben, indem Sie diesen Codeblock auf eine parametrisierte Version konvertieren?

Danke.

if(isset($_GET['news_art_id']) && (!empty($_GET['news_art_id'])))
{
    $news_art_id = htmlentities(strip_tags($_GET['news_art_id']));
    $news_art_id = validate_intval($news_art_id);

    //echo $news_art_id;
    $_SESSION['news_art_id'] = $news_art_id;

    // Assign value to status.
    $onstatus = 1;
    settype($onstatus, 'integer');

    $query = 'SELECT M.id, M.j_surname, M.j_points_count, M.j_level, A.j_user_id,A.id, A.jart_title, A.jart_tags, A.jart_description, A.jart_createddate FROM jt_articles A, jt_members M WHERE M.id = A.j_user_id AND A.id = ' . check_db_query_id($news_art_id) . " AND A.jart_status = $onstatus;";

    $result = mysql_query($query) or die('Something went wrong. ' . mysql_error());  
    $artrows = mysql_num_rows($result);
}
War es hilfreich?

Lösung

in Ihrem Fall kein Vorteil ist, denken Sie daran eine parametrisierte Abfrage erfordert zwei Anrufe an die db: ein Setup die Abfragevorlage und Parse, die andere die Abfragevorlage params zu füllen und in der Regel verwendet, wenn Looping. So in diesem Fall sind Sie besser dran, eine gespeicherte Prozedur aufrufen (immer die beste Wahl) oder mit Inline-SQL und sicherstellen, dass Sie verwenden http://php.net/manual/en/function.mysql-real-escape-string.php wenn anwendbar.

Andere Tipps

Die allgemeine Regel lautet:. Jede Variable binded werden soll, keine Inline-Variablen überhaupt

Technische Daten: http://php.net/manual/en/pdo.prepare .php

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top