[PHP] Was stimmt an dieser SQL-Abfrage nicht?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von marjot, 5. August 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 5. August 2008
    Was stimmt an dieser SQL-Abfrage nicht?

    PHP:
    40 $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id = '" . $_COOKIE [ "userid" ]. "' AND read = '0'" ;
    41 $result_inbox_unread  mysql_query ( $sql_inbox_unread );
    42 $row_inbox_unread  mysql_fetch_assoc ( $result_inbox_unread );
    Was stimmt daran nicht?

    Ich bekomme diese Meldung:

    Code:
    [B]Warning[/B]: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
    [B]/usr/export/www/vhosts/funnetwork/hosting/rcverzeichnis/messagecenter.php[/B] on line [B]42[/B]
    
    Greetz
     
  2. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    if(!$result_inbox_unread)
    die(mysql_error());

    p.s. total unsicher direkt cookie content in mysql abfragen einzubauen
     
  3. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    PHP:
    40 $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id = '" . $_COOKIE [ "userid" ]. "' AND read = '0'" ;
    die beiden " um .$_COOKIE["userid"]. müssen glaub ich weg
    also:
    PHP:
    40 $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id = '. $_COOKIE [ " userid " ] .' AND read = '0'" ;
     
  4. 5. August 2008
    Danke für den Hinweis! Aber wie behebe ich das Problem?

    Das glaube ich nicht, da ich andere Abfragen wo ich ne Variable einsetze auch so programmiert habe und die funktionieren.

    Weitere Ansätze?

    Greetz

    PHP:
    $sql_inbox  "SELECT * FROM personal_message WHERE reciever_id='" . $_COOKIE [ "userid" ]. "'" ;
    Diese Abfrage funktioniert, obwohl sie nur die zweite WHERE Bedingung nicht hat.

    Was ist da falsch?

    Die funzt:
    PHP:
    $sql_inbox  "SELECT * FROM personal_message WHERE reciever_id='" . $_COOKIE [ "userid" ]. "'" ;
    Die net:
    PHP:
    $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id='" . $_COOKIE [ "userid" ]. "' AND read='0'" ;
     
  5. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    PHP:
    $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id = '" . $_COOKIE [ "userid" ]. "' AND read = '0'" ;
    if(!
    $result_inbox_unread )
    die(
    mysql_error ());
    $result_inbox_unread  mysql_query ( $sql_inbox_unread );
    $row_inbox_unread  mysql_fetch_assoc ( $result_inbox_unread );
    einfach die fehlermeldung posten ...

    bzw. gib dir dein query aus und führ ihn selber aus und schau dir einfach die fehlermeldung von mysql an!

    Die Syntax von deinen Query ist soweit richtig, es kann sein dass im Cookie komische Zeichen
    oder es das feld "read" nicht gibt oder sonst was
     
  6. 5. August 2008
    Code:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read='0'' at line 1
    Jetzt kommt das

    Das Feld "read" gibts es definitiv in meiner Datenbank.
    Ich hab auch schon versucht vorher das Cookie in ne Variable zu speichern und die normale Variable anstelle von $_COOKIE["userid"] einzusetzen:

    PHP:
    $user_id  $_COOKIE [ "userid" ];
    $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id='" . $user_id . "' AND read='0'" ;
    Greetz

    Code:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL
    server version for the right syntax to use near 'read='0'' at line 1
    Jetzt kommt das

    Das Feld "read" gibts es definitiv in meiner Datenbank.
    Ich hab auch schon versucht vorher das Cookie in ne Variable zu speichern und die normale Variable anstelle von $_COOKIE["userid"] einzusetzen:

    PHP:
    $user_id  $_COOKIE [ "userid" ];
    $sql_inbox_unread  "SELECT * FROM personal_message WHERE reciever_id='" . $user_id . "' AND read='0'" ;
    Greetz
     
  7. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    kannst auch erstmal den sql query ausgeben (echo $sql_inbox_unread einfach viel mehr debuggen ...

    hab leider atm kein sql server da, aber eventuell kannst du das feld nicht mit ' (hochkomma) ansprechen da Feldtyp = INTEGER o.Ä.?
     
  8. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    So Freunde,
    es lag - schätze ich einfach mal - daran, dass "read" evtl ein reserviertes Wort in SQL ist.
    Kann das sein?
    Ich habe das Datenbankfeld jetzt einfach umbenannt und jetzt läufts

    Greetz
     
  9. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    ja, read ist reserviert: meines wissens für das einlesen von textdateien...
    => MySQL :: MySQL 5.1 Referenzhandbuch :: 9.5 Ist MySQL pingelig hinsichtlich reservierter Wörter?
     
  10. 5. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    kleiner tipp wie du deinen spalten-namen trotzdem verwenden kannst: hochkommata verwenden
    Code:
    SELECT * FROM `personal_message` WHERE `reciever_id` = '".$user_id."' AND `read` = '0'
     
  11. 6. August 2008
    AW: Was stimmt an dieser SQL-Abfrage nicht?

    Danke und closed
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.