Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der Verwendung der Funktion bind_param() in PHP

Detaillierte Erläuterung der Verwendung der Funktion bind_param() in PHP

墨辰丷
Freigeben: 2023-03-27 19:30:01
Original
6138 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Verwendung der Funktion bind_param() in PHP vor und analysiert kurz die Funktionen, Parameter, Verwendungsmethoden und zugehörigen Vorsichtsmaßnahmen der Funktion bind_param()

Wörtlich Es ist nicht schwer, die Bindungsparameter 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 – ​​Integer (Ganzzahltyp)
d – double (Gleitkommatyp mit doppelter Genauigkeit)
s – string (string)
b – BLOB (boolean)

Jeder Parameter muss den Typ angeben.

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 durch Referenzen übergeben, die nach PHP5.3 nicht direkt als Zeichenfolgen geschrieben werden können. Um diese Schlussfolgerung zu überprüfen, habe ich hier einen Test wie folgt geschrieben:

$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();
Nach dem Login kopieren

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

Schließlich habe ich das Programm wie folgt umgeschrieben:

$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();
Nach dem Login kopieren

Und das obige Programm kann normal ausgeführt werden

Das Obige ist Ich hoffe, dass der gesamte Inhalt dieses Artikels für das Studium aller hilfreich sein wird.


Verwandte Empfehlungen:

bind_param() Funktionsnutzungsanalyse in PHP

Detaillierte Erklärung der Verwendung von bindParam und bindValue in Yii2

Detaillierte Erklärung des Unterschieds zwischen bindParam und bindValue

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der Funktion bind_param() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage