In tabelle suchen.



  • Hallo,
    ich habe eine tabelle:

    sitedb:
    id | user | zielurl |
    ------+------+
    45677 | cmp | google.de |
    ...

    per GET in php hole ich aus der url (zb.: www.meinedomain.de/index.php?id=45677)
    die id. Halt diese zahl zum schluss. Ich möchte jetzt diese id in der spalte id suchen und zielurl als antwort erhalten.
    "zielurl" soll in der variable $zZ sein.

    sql=SELECTzielurlFROMsitedbWHEREid=id;sql = 'SELECT zielurl FROM sitedb WHERE id = id'; zZ = $sql; // das soll sql, also zielurl in zZ schreiben. php

    Der ganze code läuft nicht. Fehler bekomm ich auch nicht. Es klappt einfach nicht.



  • Die frage kann man so nicht beantworten.



  • wissender schrieb:

    Die frage kann man so nicht beantworten.

    Da hat er recht. Welches Datenbanksystem verwendest Du?



  • Ich nutze über php mysql

    <?php session_start();
    /*
     CREATE TABLE sitedb (
        id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
        main VARCHAR(100) NOT NULL
        username VARCHAR(100) NOT NULL
    );
    */ 
    
    if (!isset($_GET['id'])) {
        echo "Es wurde keine GET-Variable 'xyz' angegeben.";
        exit 1;
        }
    else {
    
    //Connect to database from here
    $link = mysql_connect('localhost', 'web22', 'droawr7b'); 
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    
    //select the database | Change the name of database from here
    mysql_select_db('usr_web22_1'); 
    
    //now validating the username and password
    $sql="SELECT main, password FROM sitedb WHERE id='".$_GET['id']."'";
    $result=mysql_query($sql);
    $row=mysql_fetch_array($result);
    
    //if id and main exists
    if(mysql_num_rows($result)>0)
    {
    echo '<!Doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"';
    echo '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
    echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">';
    echo '<head>';
    echo '<meta http-equiv="refresh" content="3; url=';
    echo $main;
    echo '">';
    echo '</head>';
    echo '<body>';
    echo 'Die GET-Variable 'xyz' wurde gefunden und hat den Wert';
    echo ".$_GET['id'].";
    echo 'Sie werden automatisch weitergeleitet...<br>';
    echo '</body>';
    echo '</html>';
    
    }
    else {
    	echo "no. id exestiert nicht."; //Invalid Login
    }
    
    ?>
    


  • Hab schon ewig nixmehr in PHP gemacht, aber so inetwa müsste das dann funktionieren:

    // ...
    
    // aufpassen wegen SQL injection:
    $escapedId = mysql_real_escape_string($_GET['id']);
    $sql="SELECT main, password FROM sitedb WHERE id=$escapedId";
    
    // ...
    
    // wieso > 0 - das muss genau 1 sein, alles andere is quark
    // if(mysql_num_rows($result)>0)
    if(mysql_num_rows($result) == 1)
    {
        // wozu die row fetchen bevor wir wissen ob wir überhaupt eine zu fetchen haben?
        $row = mysql_fetch_array($result);
    
        echo '<!Doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"';
        echo '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
        echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">';
        echo '<head>';
        echo '<meta http-equiv="refresh" content="3; url=';
    // wo soll $main herkommen?
        $main = $row['main']; // hier bekommen wir's her
        echo $main;
        echo '">';
    



Anmelden zum Antworten