Im Versuch, mehrere Werte von Array in MySQL mit einer SQL-Abfrage aber ich bin immer diese Fehlermeldung hinzuzufügen:Hinzufügen von Array-Elemente mit einer Mysql-Abfrage nicht funktioniert
Notice: Array to string conversion in /var/www/index/test2.php on line 103 Warning: implode(): Argument must be an array in /var/www/index/test2.php on line 103
Hier ist der Code Teil, wo seine falsch:
$sqlas = array();
foreach($rezai as $rezas)
{
if (!empty($rezas)) {
$rezas = str_replace('http://', '', strip_tags($rezas));
}
else
{
$rezas = 'empty_rezas';
}
$failoID = explode('/', $rezas);
if (!isset($failoID[2]) || empty($failoID[2]))
{
$failoID[2] = 'neraID';
}
if (isset($rezas) && !empty($rezas))
{
$urlr = str_replace('www.mysite.com', '', $rezas);
}
$sqlas[] = '("'.mysqli_real_escape_string($conn, $failoID[2]).'", "'.mysqli_real_escape_string($conn, $urlr).'", "'.$uzklausaClean.'")';
}
$conn->query('INSERT INTO four_failai2 (id, url, uzklausa) VALUES '.implode(','. $sqlas).'');
$conn->close();
Die Linie 103 ist diese:
$conn->query('INSERT INTO four_failai2 (id, url, uzklausa) VALUES '.implode(','. $sqlas).'');
Es sagt Argument ein Array sein muss, aber ich bin zu definieren $ sqlas als leeres Array vor foreach Schleife und dann füge ich Werte innerhalb der Schleife hinzu. Irgendwelche Ideen?
Ansonsten sind Sie offen für [SQL Injections] (http://php.net/manual/en/security.database.sql-injection.php) und sollten wirklich [vorbereitete Anweisungen] (http://php.net/manual/de/mysqli.quickstart.prepared-statements.php) anstelle der Verkettung Ihrer Abfragen. mysqli_real_escape_string() 'ist nicht so sicher wie man es sich wünscht. –