Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielcode-Freigabe für die Verwendung der Funktion bind_param() in PHP

Beispielcode-Freigabe für die Verwendung der Funktion bind_param() in PHP

黄舟
黄舟Original
2017-03-29 09:10:17983Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung der Funktion bind_param() in php vor und analysiert kurz die Funktion, Parameter, Verwendung und damit verbundene Vorsichtsmaßnahmen der Funktion bind_param() . , Freunde in Not können sich auf

beziehen. Dieser Artikel erklärt die Verwendung der Funktion bind_param() in PHP anhand von Beispielen. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

Es ist nicht schwer, die Bindungsparameter wörtlich zu verstehen. Lassen Sie mich anhand eines Beispiels für Bindungsparameter darüber sprechen:

zum Beispiel:

bind_param("sss", firstname,lastname, $email);

1 Diese Funktion bindet SQL-Parameter und teilt der Datenbank den Wert der Parameter mit. Die Parameterspalte „sss“ verwaltet die Datentypen der übrigen Parameter. Das s-Zeichen teilt der Datenbank mit, dass es sich bei dem Parameter um eine Zeichenfolge handelt.

Die Parameter haben die folgenden vier Typen:

i – ​​Ganzzahl (Ganzzahltyp)
d – Double (doppelte Genauigkeit Gleitkomma). Typ )
s – Zeichenfolge (Zeichenfolge)
b – BLOB (boolean)

Jeder Parameter muss als Typ angegeben werden.

Indem Sie der Datenbank den Datentyp des Parameters mitteilen, können Sie das Risiko einer SQL-Injection verringern.

2. Der obige Vorname, Nachname und die E-Mail-Adresse werden in Anführungszeichen übergeben, die nach PHP5.3 nicht direkt als Zeichenfolgen geschrieben werden können. Um diese Schlussfolgerung zu überprüfen, habe ich hier A geschrieben test ist wie folgt:

$servername="localhost";
$username="root";
$password="admin";
$dbname="test";
$conn=new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error){
 die("connected failed:".$conn->connect_error);
}
$sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)";
$stmt=$conn->prepare($sql);
$stmt->bind_param("sss","xiao","hong",22);
$stmt->execute();
echo "News records created successfully!";
$stmt->close();
$conn->close();

Oben habe ich ein Testprogramm geschrieben, das Parameter direkt in Strings schreibt. Nach dem Ausführen erscheint:

Endlich Ich schreibe das Programm wie folgt um:

$servername="localhost";
$username="root";
$password="password";
$dbname="test";
$conn=new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error){
   die("Connect failed:".$conn->connect_error);
}
$sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)";
$stmt=$conn->prepare($sql);
$stmt->bind_param("sss",$user_first,$user_last,$age);
$user_first="xiao";
$user_last="hong";
$age=12;
$stmt->execute();
echo "News records created successfully!";
$stmt->close();
$conn->close();

Das obige ist der detaillierte Inhalt vonBeispielcode-Freigabe für die Verwendung der Funktion bind_param() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn