SQL Anfrage spuckt keine Ergebnisse aus

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

  • SQL Anfrage spuckt keine Ergebnisse aus

    Hi zusammen,

    ich versuch eine Domain in meine Datenbank einzutragen mit folgendem Codeteil:

    PHP-Code:
    }  else if ($_POST['type'] == "alias") {
        
    $idquery "SELECT domain_id FROM domains
                    WHERE domain = '
    {$_POST['aliasdest']}'
                    AND domain_id > 1"
    ;
        
    $idresult mysql_query($idquery);    
        
    $idrow mysql_fetch_row($idresult);

        if (
    mysql_errno()) {
          
    header ("Location: site.php?baddestdom={$_POST['domain']}");
          die;
        } else {
          if (!isset(
    $idrow['domain_id'])) {
            
    header ("Location: site.php?baddestdom={$_POST['domain']}");
            die;
          }
        } 
    Ich habe durch auskommentieren bereits ausgeschlossen, dass mysql_errno() den Fehler erzeugt. Findet er also keine domain_id die den bedingungen entspricht? Kann eigentlich nicht sein, da alle ids (außer die admin id) größer als 1 sind und die aliasdest per textfeld eingegeben wird. Danach folgt dann eigentlich das Insert-Statement, aber soweit kommt er ja leider nicht.

    Jemand ne idee?

    Danke und beste grüße

  • #2
    Hi,

    du versuchst mit einem SELECT Statement etwas in die Datenbank einzutragen ? bitte PDO oder mysqli verwenden, mysql_* ist veraltet. Du hast auch ein SQL Injection Problem.

    Statt

    [COLOR=#000000][COLOR=#CC0000]'{$_POST['aliasdest']}'

    so

    '".$_POST["aliasdest"]."'
    [/COLOR][/COLOR]
    mfg streuner
    Zuletzt geändert von streuner; 06.01.2014, 16:48.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      du versuchst mit einem SELECT Statement etwas in die Datenbank einzutragen?
      Haha, ne wie gesagt, das Insert-Statement folgt dann eigentlich weiter unten, aber soweit kommt der Code nicht. Habs diesmal mal mit angehängt Tut aber leider immernoch nicht.

      Mit den Injections hast du natürlich recht, ist aber in diesem Fall nicht so wichtig, da sowieso nur der Admin auf die entsprechende Seite kommt und domains verwalten kann. Aber stimmt natürlich, um nicht ausversehen Fehler zu machen sollte ich das noch ändern.


      PHP-Code:
      }  else if ($_POST['type'] == "alias") {
          
      $idquery "SELECT domain_id FROM domains
                      WHERE domain =  '"
      .$_POST["aliasdest"]."'
                      AND domain_id > 1"
      ;
          
      $idresult mysql_query($idquery);    
          
      $idrow mysql_fetch_row($idresult);

          if (
      mysql_errno()) {
            
      header ("Location: site.php?baddestdom={$_POST['domain']}");
            die;
          } else {
            if (!isset(
      $idrow['domain_id'])) {
              
      header ("Location: site.php?baddestdom={$_POST['domain']}");
              die;
            }
          }
          
      $query "INSERT INTO domainalias (domain_id, alias)
                    VALUES ('
      {$idrow['domain_id']}', '{$_POST['domain']}')";
          
      $result mysql_query($idquery);    
          if (
      mysql_errno()) {
            
      header ("Location: site.php?failaddeddomerr={$_POST['domain']}");
            die;
          } else {
          echo 
      "1";
            
      header ("Location: site.php?added={$_POST['domain']}.
                    
      "&type={$_POST['type']}");
            die;
          }
        } 
      Zuletzt geändert von markreis; 06.01.2014, 17:27.

      Kommentar

      Lädt...
      X