2016-09-20 2 views
0

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?

+2

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. –

Antwort

1

Sie haben einen Punkt anstelle eines Kommas in Ihrer implode-Funktion.

Ändern Sie implode(','. $sqlas) zu implode(',', $sqlas). Wie es jetzt ist, versuchen Sie, die Zeichenfolge, die das Komma enthält, mit einem Array (z. B. Array-zu-String-Konvertierung) zu verketten.

Verwandte Themen