PHP Notice: Undefined offset

Ich will, update mehrere Zeilen mit checkbox. mein script funktioniert, aber zeigt Fehlermeldungen nach ini_set display_errors

Hier ist der code:

$count=mysql_num_rows($result);
if (isset($_POST['submit'])) {
    $checked = $_POST['checkbox'];
    for ($i = 0; $i < $count; $i++) {
        $result = mysql_query("UPDATE trace SET status='Delivered' WHERE id='$checked[$i]'") or die(mysql_error());
    }
}

Zeigt Notice: Undefined offset Zeile Anzahl

Was ist falsch?

  • Undefined offset ???? es fehlt ein Teil der Nachricht
  • Wo ist $count definiert? Auch Sie sind weit offen, um SQL-injection-Angriffe, und Sie werden gehackt wenn Sie nicht bereits. Verwenden Sie vorbereitet/parametrisierte Abfragen, um dieses problem vollständig vermeiden.
  • Sie sind ckecing $_POST['submit'], aber keine überprüfung $_POST['checkbox'] auch $count ist nicht definiert
  • nicht paraphrasieren Fehlermeldungen. "Notice: Undefined offset." ist nicht die Fehlermeldung es gab Sie. Die Fehlermeldung war viel länger. Sie enthalten eine Zeilennummer. Wir müssen die gesamte Nachricht, und Sie müssen uns nur sagen, welche Zeile in deinem code die Zeilennummer.
  • haben Sie eine var_dump($_POST['checkbox']) zu sehen, wie viele (falls vorhanden) Einträge, die Sie erhalten? Sie sind nur unter der Annahme, dass $count ist die richtige Größe für die empfangenen Daten
  • Sie brauchen, um zu stoppen, schauen Sie sich an, was der code tut und wieder zu starten. Die $count ist die Anzahl der Ergebnisse aus der Datenbank zurückgegeben, und es wird verwendet, um den index einer scheinbar unabhängigen variable. Es sind noch Fehler.

InformationsquelleAutor user3391807 | 2014-03-05
Schreibe einen Kommentar