Ich arbeite zum ersten Mal mit vorbereiteten Anweisungen, aber ich blieb bei diesem Fehler stecken. Aus irgendeinem Grund kann ich die Bindetypen nicht als Parameter übergeben?Probleme beim Binden von Werten
Mein Code:
function insert($table, $columns = array(), $bindTypes, $values = array()) {
// Store connection.
$connection = connection();
$columnValues = null;
$index = 1;
// Prepare unassigned value string.
foreach ($columns as $column) {
$columnValues .= '?';
if ($index < count($columns)) {
$columnValues .= ', ';
}
$index++;
}
// Debugg purpose: echo query example:
echo "INSERT INTO {$table} (" . implode(', ', $columns) . ") VALUES ({$columnValues})";
// Prepare statement.
$statement = $connection->prepare("INSERT INTO {$table} (" . implode(', ', $columns) . ") VALUES ({$columnValues})");
$statement->bind_param($bindTypes, implode(', ', $values));
}
insert('test', array('name'), 'i', array(1));
Wenn ich die Abfrage Beispiel erhalte ich "INSERT INTO-Test (Name) VALUES (?)" Echo.
Bitte verschonen Sie mich Ich bin immer noch ein lernender Noob.
Hinweis: PHP/5.6 + wird wegen der Syntax [... $ values] (http://php.net/functions.arguments#functions.variable-arg-list) benötigt. –