order by rand mit VARCHAR aber nicht mit TEXT

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • order by rand mit VARCHAR aber nicht mit TEXT

    Der Code:
    PHP-Code:
    $a mysql_fetch_object(mysql_query("SELECT * FROM tablename ORDER BY RAND() LIMIT 1"));
    echo 
    $a->data
    tablename
    id smallint(5) NOT NULL auto_increment,
    name varchar(35) NOT NULL default '',
    data text NOT NULL,
    PRIMARY KEY (id)

    Das Problem besteht darin, dass solange die Spalte 'data' den Typ text hat, ich folgende Fehlermeldung erhalte:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in ...
    Ändere ich den Spaltentyp in 'varchar', funktioniert alles einwandfrei.


    Kann mir jemand bitte erklären, worin der Unterschied liegt.

    Danke im Voraus
    Eugen

  • #2
    was sagt mysql_error dazu?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      1: Can't create/write to file 'c:\temp\#sql_59c_0.MYI' (Errcode: 2)
      Das ganze läuft auf einer lokalen Testumgebung.

      Kommentar


      • #4
        Und ... gibt's das Verzeichnis c:\temp ... und hat mysql Schreibberechtigung darauf ... ?
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Ich konnte das Problem leider nicht lösen. Ich weiß nicht, was da nicht stimmt. Habe deswegen alles mit PHP umgesetzt.

          1. Wähle in der Datenbankalle IDs aus.
          2. Speichere dann die IDs in einem neuen Array ab.
          3. Wähle mit array_rand() zufällig eine ID heraus
          4. Hole anhand dieser ID die data-Inhalte aus der db raus.

          => Selbe Lösung, anderer 'unproblematischer' Weg.

          Dennoch danke für versuchte Hilfestellung.

          Kommentar


          • #6
            Original geschrieben von geugen
            Ich konnte das Problem leider nicht lösen.
            normal ist das aber nicht...

            probier das mal http://dev.mysql.com/doc/mysql/en/perror.html (mit deinem errcode 2)

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Deshalb meine Frage:

              Error code 2: No such file or directory

              meistens ist's dann das nicht vorhandene oder unberechtigte Temp-Verzeichnis ... die Datei #sql_59c_0.MYI ist der tempöräre Index den MySQL erstellt ... !
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar

              Lädt...
              X