[PHP] Probleme mit MySQL abfrage

AW: Probleme mit MySQL abfrage

Kleiner Tipp: Du kannst deine Beiträge auch einfach "Ändern", da gibt's nen Button in jedem deiner Postings, solche Doppelpostings wenn möglich bitte vermeiden, macht das ganze nur unübersichtlicher und die Moderatoren sehen das auch nicht gerne :-)
 
AW: Probleme mit MySQL abfrage

Eventuell solltest du den aktuellen Quelltext noch mal posten, den aus dem "alten" Quelltext von heute vormittag lässt sich jetzt kein Fehler erkennen.
Probier mal folgendes, laß direkt vor dem SQL Statement mal die Variable $suche ausgeben.

Wenn die Variable dann schon den Wer LED hat, dann stimmt da bei der übergabe der Variable ein Problem vorliegt oder ob das Problem beim SQL Statement auftritt.
Desweiteren fällt mir so gerade auf solltest du im SQL Statement auch den Ausdruck $_POST['suche'] verwenden und nicht nur $suche.
Ansonsten wüste ich nicht wo das Problem noch liegen könnte.
 
AW: Probleme mit MySQL abfrage

hab den fehler gefunden ^^
is alles jetzt so wie ich das haben möcht ^^

es fehlte nur die zuweisung der variablen $suche hab das eben ma gemacht und nu geht das ^^ $suche=$_POST['suche'];
muss jetzt halt am optischen arbeiten und die andern abfragen schreiben aber das ja jetzt kein prob mehr .. jetzt hab ich ja das grundgerüst =)

THX an alle die mir geholfen haben den tag über =) ist echt nen nette forum hier =)


Code:
<html>
<head>
<title></title>
<meta name="author" content="Administrator">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<form name="form" method="post" action="index.php">

<?php
echo "Bitte geben sie ein Artikelnamen ein.";
	if(isset($_POST['suche']))
         echo "<td><input type='Text' name='suche' value='" . $_POST['suche'] . "' size='' maxlength=''></td>";
	else
	echo "<td><input type='Text' name='suche' value='' size='' maxlength=''></td>"
?>

<input type="hidden" name="gesendet" value="1" size="" maxlength="">
<input type="Submit" name="go" value="Go-->">

</form>
<?php



if ($_POST['suche']!=""){
$suche=$_POST['suche'];
$connect = mysql_connect("xxx","xxx","xxx");
mysql_select_db("semidata");
$sql= "  SELECT `Manufacturers Part Number` , `Description` , `CD Number` FROM `components` WHERE Description like '%" .$suche ."%'";
$B=mysql_query($sql);
$ausgabe= mysql_fetch_array($B);
mysql_close($connect);


while($ausgabe= mysql_fetch_array($B))
{
     //Block wird für jeden Datensatz ausgeführt
     echo $ausgabe["Manufacturers Part Number"];
     echo $ausgabe["Description"];
     echo $ausgabe["CD Number"];
     echo "<br>";
}


}else{
if (isset($_POST['gesendet']))
 echo ("Sie muessen auch nach was suchen.");
}



php?>

</body>
</html>
 
Zuletzt bearbeitet:
AW: Probleme mit MySQL abfrage

So, wie Du es momentan hast, ist es ein Leichtes, Injections auszuführen und damit schlimmstenfalls deine ganze Datenbank zu entfernen. Deswegen bitte vorab escapen. Nachfolgend eine etwas verbesserte Code:

Code:
<html>
<head>
<title></title>
<meta name="author" content="Administrator">
</head>
<body text="#000" bgcolor="#FFF" link="#F00" alink="#F00" vlink="#F00">

<form name="form" method="post" action="index.php">

<?php
echo "Bitte geben sie ein Artikelnamen ein.";
    if(isset($_POST['suche']))
         echo "<td><input type='Text' name='suche' value='" .htmlentities($_POST['suche']). "'"></td>";
    else
    echo "<td><input type='Text' name='suche'></td>"
?>

<input type="hidden" name="gesendet" value="1">
<input type="Submit" name="go" value="Go-->">

</form>
<?php



if ($_POST['suche']!=""){
$suche= $_POST['suche'];
$connect = mysql_connect("xxx","xxx","xxx");
mysql_select_db("semidata");
$sql= mysql_query("SELECT Manufacturers Part Number, Description, CD Number FROM `components` WHERE Description LIKE '%" .mysql_real_escape_string($suche)."%'");
$ausgabe= mysql_fetch_assoc($sql);
mysql_close($connect);


while($ausgabe= mysql_fetch_array($sql))
{
     //Block wird für jeden Datensatz ausgeführt
     echo $ausgabe["Manufacturers Part Number"];
     echo $ausgabe["Description"];
     echo $ausgabe["CD Number"];
     echo "<br>";
}


}else{
if (isset($_POST['gesendet']))
 echo ("Sie muessen auch nach was suchen.");
}

?>
</body>
</html>
 
Zuletzt bearbeitet:
Zurück
Oben