Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Abfrage funktioniert nicht!

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Abfrage funktioniert nicht!

    Hallo,

    wieso funktioniert die folgende Abfrage nicht. Ich bekomme immer den else Teil ausgegeben. Vielen Dank

    Code:
    <?php
    
    $srhp_root_path = './';
    
    include ($srhp_root_path . '../../includes/db_verbindung.inc.php');
    
      
    	if ($_POST['sr_nr']='0')
      		{
    	  		echo ('<h2>Hier soll ein Formular hin...</h2>');
    		}
    	 elseif (($_POST['sr_nr'] !='0') and ($_POST['sr_nr'] !=''))
    		 {
    				sr_db_connect() or exit ();
    				
    				$result = mysql_query('Select `vorname`, `name` FROM `sr_liste` WHERE \''.$_POST['sr_nr'].'\' = `sr_nr`');
    				
    	  			$row = mysql_fetch_array($result);
    				
    					$sr = ($row['vorname'].' '.$row['name']); 
    					
    					$zeit_stunden = substr($_POST['zeit'],0,2);
    					$zeit_minuten = substr($_POST['zeit'],3,2);
    					$zeit = ($zeit_stunden.':'.$zeit_minuten);
    			  		
    					if ($row !='')
    						{
    						  $query = ('UPDATE `xyz` SET 
    						  			`datum`= \''.$_POST['datum_jahr'].'-'.$_POST['datum_monat'].'-'.$_POST['datum_tag'].'\', 
    									`zeit`= \''.$zeit.'\', 
    									`mannschaft_a`=\''.$_POST['mannschaft_a'].'\', 
    									`mannschaft_b`=\''.$_POST['mannschaft_b'].'\', 
    									`sr_nr`=\''.$_POST['sr_nr'].'\', 
    									`sr`= \''.$sr.'\' 
    									WHERE \''.$_POST['id'].'\' = `id`');
    									
    							$aendern = mysql_query($query)
    			  				or die ('Fehler beim Schreiben in die Datenbank');
    				 		}
    					else
    						{
    							echo ('<h2>Fehler</h2>');
    							echo ('<h4>Es existiert keine Nummer '.$_POST['sr_nr'].'</h4>');
    						}
    			}
    		elseif ($_POST['sr_nr'] ='')
    			echo ('<h2>Keine SR-Nr. eingegeben. </h2>');
    			
    		else
    			{
    			echo ('<h2>Fehler hier</h2>');
    			}
    ?>

  • #2
    Ich könnte jetzt fragen, welche Abfrage nicht funktioniert. Aber das spielt gar keine Rolle, weil keine ausgeführt wird. In
    PHP-Code:
    if ($_POST['sr_nr']='0'
    wird mal der Variablen '0' zugewiesen und die Abfrage ist immer TRUE.
    Weiter: $row ist ein Array und kann deshalb nicht mit
    PHP-Code:
    if ($row !=''
    abgefragt werden.
    So müsste das Ganze eigentlich laufen und ist erst noch lesbar:
    PHP-Code:
    <?php

    $srhp_root_path 
    './';
    include (
    $srhp_root_path '../../includes/db_verbindung.inc.php');

    if (
    $_POST['sr_nr'] == '0')
    {
        echo (
    '<h2>Hier soll ein Formular hin...</h2>');
    }
    elseif ((
    $_POST['sr_nr'] != '0') and ($_POST['sr_nr'] != ''))
    {
        
    sr_db_connect() or exit ();           
        
    $result mysql_query("Select  vorname , name  
                               FROM  sr_liste  
                               WHERE '" 
    $_POST['sr_nr'] . "' =  sr_nr");  
        if (
    mysql_num_rows($result))
        {          
            
    $row mysql_fetch_array($result);            
            
    $sr = ($row['vorname'] . ' ' $row['name']);               
            
    $zeit_stunden substr($_POST['zeit'],0,2);
            
    $zeit_minuten substr($_POST['zeit'],3,2);
            
    $zeit = ($zeit_stunden ':' $zeit_minuten);
         
            
    $query = ("UPDATE xyz SET
                     datum = '" 
    $_POST['datum_jahr']  . '-' $_POST['datum_monat'] . '-' 
                             
    $_POST['datum_tag'] . "',
                     zeit = '" 
    $zeit "',
                     mannschaft_a = '" 
    $_POST['mannschaft_a'] . "',
                        mannschaft_b = '" 
    $_POST['mannschaft_b'] . "',
                     sr_nr = '" 
    $_POST['sr_nr'] . "',
                     sr =  
    $sr 
                     WHERE id = '" 
    $_POST['id'] . "'");
                               
            
    $aendern mysql_query($query)
                           or die (
    'Fehler beim Schreiben in die Datenbank');
        }
        else
        {
           echo (
    '<h2>Fehler</h2>');
           echo (
    '<h4>Es existiert keine Nummer ' $_POST['sr_nr'] . '</h4>');
        }
    }
    elseif (
    $_POST['sr_nr'] = '')
    {
        echo (
    '<h2>Keine SR-Nr. eingegeben. </h2>');
    }         
    else
    {
        echo (
    '<h2>Fehler hier</h2>');
    }
    ?>

    Kommentar


    • #3
      Vielen Dank, das bringt mich meinem Ziel schon mal ein Stück näher.

      Allerdings kommt folgende Fehlermeldung:
      Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in .../test_03.php on line 29
      Zeile 29 ist:

      Code:
       if (mysql_num_rows($result))

      Kommentar


      • #4
        Habe ich übersehen: Kein mysql_query() ohne anschliessende Abfrage von mysql_error(). Und gib gleich noch das evaluierte Statement mit aus:
        PHP-Code:
        $sql "Select  vorname , name  
                                   FROM  sr_liste  
                                   WHERE '" 
        $_POST['sr_nr'] . "' =  sr_nr";
        echo 
        "$sql
        "
        ;  // für Testzwecke
        $result mysql_query($sql) or die(mysql_error()); 
        Die Fehlermeldung heisst im wesentlichen, dass die Abfrage fehlerhaft ist und mysql_query() nicht funktioniert hat.

        Kommentar


        • #5
          Query was empty
          Kann es sein, dass der Wert von $_POST['sr_nr'] aus dem Formular in der if-Klammer nicht mehr gültig ist?

          Die Abfrage müsste nämlich stimmen und einen Datensatz gibts auch dazu in der DB, habs eben kontrolliert...

          Woran könnte es sonst noch liegen?

          Kommentar


          • #6
            Hab den Fehler gefunden!

            Vielen Dank für Deine Hilfe, es funktioniert jetzt!!!

            Kommentar


            • #7
              Was gibt denn
              PHP-Code:
              echo "$sql
              "
              ;  // für Testzwecke 
              aus

              Kommentar

              Lädt...
              X