PHP Doku:: Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection - function.maxdb-real-escape-string.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenMaxDBMaxDB Funktionenmaxdb_real_escape_string -- maxdb::real_escape_string

Ein Service von Reinhard Neidl - Webprogrammierung.

MaxDB Funktionen

<<maxdb_real_connect -- maxdb::real_connect

maxdb_real_query -- maxdb::real_query>>

maxdb_real_escape_string

maxdb::real_escape_string

(PECL maxdb >= 1.0)

maxdb_real_escape_string -- maxdb::real_escape_stringEscapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Beschreibung

Prozeduraler Stil

string maxdb_real_escape_string ( resource $link , string $escapestr )

Objektorientierter Stil

string maxdb::real_escape_sring ( string $escapestr )

This function is used to create a legal SQL string that you can use in an SQL statement. The string escapestr is encoded to an escaped SQL string, taking into account the current character set of the connection.

Characters encoded are ', ".

Rückgabewerte

Returns an escaped string.

Beispiele

Beispiel #1 Object oriented style

<?php
$maxdb 
= new maxdb("localhost""MONA""RED""DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   
printf("Connect failed: %s\n"maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   
printf("Error: %s\n"$maxdb->sqlstate);
}

$city $maxdb->real_escape_string($city);

/* this query with escaped $city will work */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   
printf("%d Row inserted.\n"$maxdb->affected_rows);
}

$maxdb->close();
?>

Beispiel #2 Procedural style

<?php
$link 
maxdb_connect("localhost""MONA""RED""DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   
printf("Connect failed: %s\n"maxdb_connect_error());
   exit();
}

maxdb_query($link"CREATE TABLE temp.mycity LIKE hotel.city");

$city "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!maxdb_query($link"INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   
printf("Error: %s\n"maxdb_sqlstate($link));
}

$city maxdb_real_escape_string($link$city);

/* this query with escaped $city will work */
if (maxdb_query($link"INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   
printf("%d Row inserted.\n"maxdb_affected_rows($link));
}

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Error: 42000
1 Row inserted.

Siehe auch


Keine BenutzerBeiträge.
- Beiträge aktualisieren...



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)