Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum.
Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden.
Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!
We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.
Team Webprofis
We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.
Team Webprofis
alternatief mysql_escape_string
Wie wil even meedenken?
Ik roep mijn data als volgt aan:
De functie:
Nu wil ik mysql_escape_string vervangen, omdat dit straks niet meer wordt ondersteund.
mysql_real_escape_string($order) geeft een error.
Of beter de functie str_replace of addslashes ?
Ik roep mijn data als volgt aan:
$data = Template::templateGetList( 'single', '_pages', 'page', 'nieuws', '_subpage', 'artikel', $numRows=10, $order='title ASC' );
De functie:
public static function templateGetList( $display, $table, $column1, $value1, $column2, $value2, $numRows=1000000, $order="publication DESC" ) {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT SQL_CALC_FOUND_ROWS *, UNIX_TIMESTAMP(publication) AS publication FROM " . $table . "
WHERE " . $column1 . " = '" . $value1 . "' AND " . $column2 . " = '" . $value2 . "'
ORDER BY " . mysql_escape_string($order) . " LIMIT :numRows";
$st = $conn->prepare( $sql );
$st->bindValue( ":numRows", $numRows, PDO::PARAM_INT );
$st->execute();
$list = array();
while ( $row = $st->fetch() ) {
$article = new RvdTemplate( $row );
$list[] = $article;
}
$sql = "SELECT FOUND_ROWS() AS totalRows";
$totalRows = $conn->query( $sql )->fetch();
$conn = null;
return ( array ( "results" => $list, "totalRows" => $totalRows[0] ) );
}
Nu wil ik mysql_escape_string vervangen, omdat dit straks niet meer wordt ondersteund.
mysql_real_escape_string($order) geeft een error.
Of beter de functie str_replace of addslashes ?
If it's not fun, you're not doing it right!
Login of Registreer om te reageren.
Reacties
Normaal is het geen probleem zodra $oder publication (datum) is, dan wordt het gewoon ORDER BY " . $order . " aangezien datum als 2014-11-03 wordt opgeslagen.
Maar zodra men op titel wilt rangschikken mag die $order geen gekke tekens bevatten.
maar of die slashes je order (op titel) goed zullen doen?
Test het even
als ik de page en subpage path wel veilig weg schrijf waarom dat niet de titel ?
Voor path gebruik ik een functie, soort van clean url, dit gaan we nu dan ook maar voor de titel doen.
Scheelt alweer werk bij het uitlezen.
Thanks, proost.
oh, ook proost
Vond dat toen te veel werk hihihih....