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(). Freunde in Not können sich auf die Beispiele dieses Artikels beziehen
Beschreibt die Verwendung der Funktion bind_param() in PHP. Ich teile es Ihnen als Referenz mit:
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 – 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();
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();
Und das obige Programm kann normal ausgeführt werden.
Das obige ist der detaillierte Inhalt vonNutzungsanalyse der Funktion bind_param() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!