kostenloser Webspace werbefrei: lima-city


Problem mit mysql_query()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    thepixelpolice

    thepixelpolice hat kostenlosen Webspace.

    Hi! Bin realtiv neu auf dem Gebiet PHP und MySQL und benötige daher eure Hilfe!
    Ich schreibe gerade ein kleines Intranet für meine Seite und habe mit einem kleinen News-System begonnen.

    Das Problem:

    benutze ich "mysql_db_query" wird zwar alles angezeigt, jedoch steht vor der Datenbank-Ausgabe, dass ich "mysql_query" benutzen soll... Gut, also ändere ich das mysql_db_query auf mysql_query, jedoch taucht eine neue Fehlermeldung auf und nun wird gar nichts mehr aus meiner Datenbank angezeigt!
    Die Fehlermeldung lautet:
    Warning: mysql_query() expects parameter 2 to be resource, string given in C:\xampp\htdocs\home.php on line 19

    Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\xampp\htdocs\home.php on line 20

    Keinen Plan, was das bedeutet!! Kann mir jemand helfen?



    Das hier wär das Programm:
    <?php
    $db=mysql_connect("localhost","root","");
      $erg=mysql_query("db_207021_1","select * from news ORDER BY id DESC");
      $anz=mysql_num_rows($erg);
      mysql_close($db);
      for ($i=0;$i<$anz;$i++)
      {
       $head=mysql_result($erg,$i,"headline");
       $text=mysql_result($erg,$i,"text");
       echo "<h4>$head</h4><p align='justify'>$text</p>";
      }
     ?>


    Beitrag zuletzt geändert: 28.2.2011 17:04:07 von thepixelpolice
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Schau dir mal folgendes Tutorial an: http://www.gurkcity.de/webdesign/tutorials/mysql-php-datenbankanbindung/

    In den MySQL Query gehören auch nur MySQL-Queries. Keine Datenbankverbindungen, usw.
  4. Ich schreib den Datenbankconnect immer in einer seperate Datei und binde ihn später immer ein, könnte ca. so aussehen:

    Dateiname: connect.inc.php
    <?php
    
     //Datenbank- Zugangsdaten
     $hostname = "hostname "; // Deine zugangsaddresse, bei lima-city ist es: mysql.lima-city.de
     $username = "username "; // steht unter Verwaltung, Addons, Datenbankzugang, von lima-city.de
     $password = "password "; // steht unter Verwaltung, Addons, Datenbankzugang, von lima-city.de
     $dbName   = "dbName   "; // wenn deine Angabe stimmt, ist es bei dir: db_207021_1
     
     //verbinden - @ unterdrückt Fehlermeldungen
     $verbindung = @MYSQL_CONNECT($hostname, $username, $password) 
     OR DIE("Unable to connect to database");
     
     //Datenbank auswählen
     $datenbank = @MYSQL_select_db("$dbName") or die("Konnte Datenbank nicht finden !");
    ?>


    so nun kannst du folgendermaßen Infos aus der DB holen:

    include ("connect.inc.php");	
    $erg=MySQL_query("SELECT * FROM news ORDER BY id DESC");
    // Ergebnisse aus dem SQL Select in Array speichern, er wiederholt es so lang, bis keine Werte mehr zugewiesen werden
    // Vorteil: Es muss nix gezählt werden
    while($row = MySQL_fetch_array){
      
       // Die gewünschten Variablen aus dem Array suchen
       $head= $row['headline'];
       $text= $row['text'];
    
       echo "<h4>$head</h4><p align='justify'>$text</p>";
    }


    Sollte eigentlich so klappen, habs jetzt nicht getestet.
  5. Autor dieses Themas

    thepixelpolice

    thepixelpolice hat kostenlosen Webspace.

    Jap, hat funktioniert!! Danke vielmals!! :)
  6. freut mich^^

    Achso, falls du nochmal irgendwann vorhaben solltest den Datenbanknamen mit anzugeben macht man das nicht mit
    MySQL_query(".."); sonder mit MySQL_db_query("..",".."); ^^
  7. karlsve

    Moderator Kostenloser Webspace von karlsve

    karlsve hat kostenlosen Webspace.

    Alternativ kann man sich auch einfach auf php.net umschauen und die Befehlsreferenz nutzen ;)

    Beispielsweise hier http://php.net/manual/de/function.mysql-query.php steht eindeutig, dass zuerst der QUERY-String kommt, "string $Anfrage", und dann die DB-Verbindung als Ressource, "resource $Verbindungs-Kennung".

    Die Verbindungskennung wird zurückgegeben wenn man mit mysql_connect() die Verbindung herstellt. Siehe http://www.php.net/manual/de/function.mysql-connect.php, "Rückgabewert: Eine MySQL Verbindungs-Kennung im Erfolgsfall oder FALSE im Fehlerfall."

    Und dazwischen benutzt man dann halt noch mysql_select_db() um die Datenbank auszuwählen. Außerdem kann man hier auch die Verbindungs-Kennung angeben und somit mehrere MySQL-Verbindungen parallel bedienen.
    http://www.php.net/manual/de/function.mysql-select-db.php

    MfG,
    karlsve

    Edit:
    satoforum schrieb: freut mich^^

    Achso, falls du nochmal irgendwann vorhaben solltest den Datenbanknamen mit anzugeben macht man das nicht mit
    MySQL_query(".."); sonder mit MySQL_db_query("..",".."); ^^

    Du hast schon gelesen, dass der Threadersteller genau diese Funktion bereits benutzt hat und mit Recht angemerkt hat, dass sie veraltet sei?
    Link: http://www.php.net/manual/de/function.mysql-db-query.php
    Beim nächsten Mal erstmal gründlich durchlesen bitte und dann sinnvolle und korrekte Antworten geben.
    Bitte nimm das nicht persönlich es bezieht sich nur auf Tatsachen die auf diesen Thread zutreffen.

    Beitrag zuletzt geändert: 28.2.2011 21:43:41 von karlsve
  8. Ja schon OK, ist mir wohl entgangen.
    Diese Anfrage kann man im Grunde ja eh weglassen, da sie meist keinen Einfluss hat, aber das wichtigste ist ja erfüllt:
    Es funktioniert bei ihm!

  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!