Harald Hamster: Hilfe

Hallo,

seit Stunden versuche ich Daten aus einer Datenbank auszulesen und mit einer Eingabe in ein Textfeld einen einzelnen Datensatz auf der Website anzuzeigen.

Ich bräuchte einige Lösungsansätze, da mein Code offensichtlich nicht funktioniert.

if(isset($_POST['show']
	{
			
		//$kunde = $_POST['kunde'];
			
		//$vb = mysqli_connect('localhost','root','');
		//$db = mysqli_select_db($vb, 'bike');
		$sql = "SELECT Auftrags_nr, Auftrags_Typ, Kund_Nr, Ang_Nr, Bereits_Gezahlt
				FROM auftrag
				WHERE '$kunde' = Kun_Nr";
						
		$abfrage = mysqli_query($vb, $sql);
		$daten = mysqli_fetch_array($abfrage);
				
	}

danke!

  1. Hallo Harald Hamster,

    Ein aussagekräftigerer Threadtitel wäre sinnvoll, auch für google und Co.

    Ich bräuchte einige Lösungsansätze, da mein Code offensichtlich nicht funktioniert.

    Für den Anfang und quasi präventiv könntest du diesen Thread durcharbeiten.

    Bis demnächst
    Matthias

    --
    Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
    1. Hallo

      Für den Anfang und quasi präventiv könntest du diesen Thread durcharbeiten.

      Den, an dem er sich beteiligt hatte und in dem ich schon anmerkte, dass es myslqi_fetch_array nicht gibt?

      Tschö, Auge

      --
      Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
      Wolfgang Schneidewind *prust*
  2. if(isset($_POST['show']
    	{
    			
    		//$kunde = $_POST['kunde'];
    			
    		//$vb = mysqli_connect('localhost','root','');
    		//$db = mysqli_select_db($vb, 'bike');
    		$sql = "SELECT Auftrags_nr, Auftrags_Typ, Kund_Nr, Ang_Nr, Bereits_Gezahlt
    				FROM auftrag
    				WHERE '$kunde' = Kun_Nr";
    						
    		$abfrage = mysqli_query($vb, $sql);
    		$daten = mysqli_fetch_array($abfrage);
    				
    	}
    
    

    Als erstes fällt mir auf, dass du die Parameter vertauscht hast bei mysql_query

    Und der Wert im Feld $kunde kommt woher? Packe beim Testen einfach erstmal einen vorhandenen Wert im Klartext in das Kommando.

    Wenn du im Programm von mysql keine Fehlermeldungen bekommst, zeige das SQL-Kommando im Klartext an (also nachdem die Platzhalter wie $kunde ersetzt wurden) und gib es bei phpmyadmin wieder ein. Dort kommen Meldungen.

    $q = "SELECT * FROM auftrag";
    echo "<pre>".$q."</pre>";
    
    1. Hallo,

      		$abfrage = mysqli_query($vb, $sql);
      

      Als erstes fällt mir auf, dass du die Parameter vertauscht hast bei mysql_query

      das spricht für aufmerksames Lesen. Aber wenn du noch ein wenig aufmerksamer wärst, würde dir auch auffallen, dass der Hamster nicht die alte mysql-Schnittstelle verwendet, sondern mysqli. Und für mysqli_query() ist die Reihenfolge korrekt so.

      Und der Wert im Feld $kunde kommt woher? Packe beim Testen einfach erstmal einen vorhandenen Wert im Klartext in das Kommando.

      Guter Punkt; ich unterstelle aber mal, dass er $kunde irgendwo fest zugewiesen hat - wobei ich das an der Stelle gemacht hätte, wo ich in der endgültigen Fassung den Wert aus $_POST lese. Dass hier jegliche kontextspezifische Behandlung fehlt, ist eine andere Geschichte.

      So long,
       Martin

      --
      Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
      - Douglas Adams, The Hitchhiker's Guide To The Galaxy
  3. Hallo Harald,

    hinter

    if(isset($_POST['show']
    

    fehlen zwei schließende Klammern:

    if(isset($_POST['show']))
    

    Die meisten Fehler lassen sich am schnellsten durch einen Blick ins Error-Log von PHP finden.

    Gruß
    Julius