Wie aktualisiere ich von mysql_ * auf mysqli_ *?

Ich verwende derzeit veralteten Code, um Daten von Benutzern abzurufen, wie folgt:

/* retrieve */
$lastName = $_POST['lastName']; 
$firstName = $_POST['firstName']; 
$examLevel=$_POST['level'];

/* connect */
$dbc=mysql_connect("localhost", "user", "passw") or die('Error connecting to MySQL server');
mysql_select_db("db") or die('Error selecting database.');

/* sanitize */
$lastName=mysql_real_escape_string($lastName);
$firstName=mysql_real_escape_string($firstName); 
$examLevel=mysql_real_escape_string($examLevel);


/* insert */
$query_personal = "INSERT INTO personal (LastName, FirstName) VALUES  ('$lastName', '$firstName')";

$query_exam = "INSERT INTO exam (Level, Centre, BackupCentre, etc.) VALUES ('$examLevel', '$centre', '$backup', 'etc')";

Das funktioniert, aber ich stoße immer wieder auf Warnungen vor Sicherheit und mangelnder Unterstützung. Es gibt eine kleine Umschreibungverbinden mit Mysqli anstelle von Mysql, aber was istmysqli_real_escape_string? Ich habe gesehen, dass es in Beispielen verwendet wird, aber ich habe auch Ratschläge gesehen, stattdessen vorbereitete Anweisungen zu verwenden, bei denen mysqli_real_escape_string nicht verwendet wird.

Und wie würde ich vorbereitete Anweisungen verwenden, um meine Daten einzufügen? Ich bin ein bisschen auf See mit diesem bisschen so weit. Ist die Parameterbindung beispielsweise nur für INSERTs und die Ergebnisbindung nur für SELECTs?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage