Eine Helferfunktion für MySQLI, die die Parameter in der vorbereiteten Anweisung dynamisch bindet?Php

PHP-Programmierer chatten hier
Anonymous
 Eine Helferfunktion für MySQLI, die die Parameter in der vorbereiteten Anweisung dynamisch bindet?

Post by Anonymous »

Ich versuche, eine Funktion für mein Projekt zu erstellen. Ich möchte, dass es alle Scheckfunktionen übernimmt. Was ich damit meine, bevor Sie mit dem Einfügen einer Zeile in Ihre Datenbank beginnen, überprüfen Sie, ob eine Zeile mit dieser E -Mail -Adresse vorhanden ist. < /p>

Um diese Funktion dynamisch zu verwenden, muss sie flexibel sein. Also habe ich meine Variablen in ein Array gesteckt, aber MySQLI_STMT_BIND_PARAM können Arrays nicht verarbeiten. Als Lösung habe ich versucht, eine Foreach < /code> Schleife zu erstellen.$sql = "SELECT users_id, users_email FROM users WHERE users_id = ? AND users_email = ?;";
< /code>

Aufrufen der Funktion: < /p>

check_database($sql, array($id, $mail), array("s", "s"), $location);
< /code>

Meine ursprüngliche Funktion: < /p>

function check_database($sql, $variables, $types, $location)
{
require $_SERVER['DOCUMENT_ROOT'] . '/includes/db/db.inc.php';
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: " . $location . "?error=sqlerror");
exit();
} else {
mysqli_stmt_bind_param($stmt, $types, $variables);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if (!$row = mysqli_fetch_assoc($result)) {
return true;
}
}
}
< /code>

Ich habe dem MySQLI_STMT_BIND_PARAM < /code> wie folgt eine foreach < /code> hinzugefügt: < /p>

foreach ($types as $index => $type) {
mysqli_stmt_bind_param($stmt, $type, $variables[$index]);
}
< /code>

Dies gibt mir einen Fehler und ich weiß nicht, wie man es löst: (< /p>


Warnung: mysqli_stmt_bind_param (): Anzahl der Variablen nicht übereinstimmt, die die Nummer von Parametern in der vorbereiteten Anweisung < /p> < /P> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> übereinstimmen, nicht übereinstimmt.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post