PHP, mysql_query funktioniert einfach NICHT

Bin ich bereit, mir das Haar ausreißen...

Diese perfekt funktioniert:

$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "INSERT INTO wp_zsession_capture
        (id, session_id, user_login, first_name, last_name, user_email, phone_number, last_conviction)
        VALUES (
            'NULL', 
            '". session_id() ."',
            '". $_POST['user_login'] ."',
            '". $_POST['first_name'] ."',
            '". $_POST['last_name'] ."',
            '". $_POST['user_email'] ."',
            '". $_POST['phone_number'] ."',
            '". $_POST['last_conviction'] ."'
        )";

mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);

Bedeutet dies NICHT Arbeit:

$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "UPDATE wp_zsession_capture SET removed = 1 WHERE session_id = '$sessionid'";

mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);

Diese beiden Teile des Codes in eine form... wenn es Fehler in der form, die ERSTE sql-Abfrage ausgeführt, um zu retten, was in der Sitzung an diesem Punkt. Wenn keine Fehler vorhanden sind, und nach einigen anderen Sachen, die auf geht, die ZWEITE sql-Abfrage ausgeführt wird, AKTUALISIEREN die 'entfernt' status innerhalb der zuvor gespeicherte Einträge.

Ich habe seit neuestem mit einem Millionen-alternative Schreibweisen und ich Schaffe es nicht, diese Zeilen zu AKTUALISIEREN. Wenn ich ausführen raw-SQL in phpMyAdmin funktioniert es einwandfrei. Es ist nichts logisches, was das angeht... oder vielleicht bin ich nur so unglaublich müde.

FYI: $sessionid = session_id();

-- UPDATE --

Ich wirklich sehr zu schätzen weiß jeder, der Besorgnis, aber lassen Sie mich einige Dinge:

  1. Ja, es ist eine Spalte in meiner Tabelle mit dem Namen "entfernt" ... sind Sie ernst? 😛
  2. Natürlich bin ich mit session_start();
  3. Ja, ich bin der überprüfung der $sessionid, um sicherzustellen, dass es aufgerufen wird. Es hallte auf der Seite zu allen Zeiten und ist auch in jedem die Aussagen, die ich ausführen.
  4. Die ERSTE Abfrage ist verantwortlich für die Erstellung der Zeilen, die ZWEITE Abfrage soll aktualisieren... also die Daten sind da.
  5. mysql_error() produziert nichts ... da ist einfach kein Fehler.

Wieder, ich Schätze deine Sorge, aber bisher alle Vorschläge wurden versucht und wieder versucht.

PHP, mysql_query funktioniert einfach NICHT

haben Sie überprüft, ob $sessionid enthält eine gültige id? wenn kein Fehler Auftritt, gibt es wahrscheinlich bedeutet, dass es keine übereinstimmende Zeile in der Datenbank. auch: Ihre erste Abfrage nicht input-Validierung... Hallo bobby Tabellen.
Sie haben eine Spalte "entfernt" in dieser Tabelle?
Warum Menschen nicht setzen mysql_error ist jenseits meines Verständnisses. Und er nutzt es in Verbindung zum host. Schlimmer noch Bücher in php verwendet mysql_error in Ihren Beispielen. P. s. Dein code ist sql-injection-Schwachstelle. Verwenden Sie PDO. Das ist nicht schwer und erspart Ihnen viele Kopfschmerzen später.
Ich Schätze Ihre Einsicht, aber nochmal... erschöpft. Und SQL-injection ist nicht ein Problem an dieser Stelle.
Ok. Aber haben Sie den mysql-Fehler, wie vorgeschlagen, durch die alle hier? Was ist dort geschrieben?

InformationsquelleAutor dcolumbus | 2012-02-01

Schreibe einen Kommentar