2016-07-21 3 views
-1

Ich habe versucht, dies auf verschiedene Weise zur Arbeit zu kommen, aber ich kann diese Abfrage nicht bekomme den Kostenwert aus der Datenbank zu der $ Kostengröße zurückzukehren:PHP MySQLi Abfrage nicht Wert zurück

$query2 = "SELECT Cost FROM 'item' WHERE Item = '$item'"; 
$cost= $db->query($query2); 

Es scheint leer zu sein, wenn ich versuche es zu wiederholen.

(Die Variable $ item wird aus einer Dropdownliste ausgewählt, die aus der Elementtabelle in der mySQL-db generiert wird. Dies funktioniert einwandfrei. Wenn ich den Wert von $ item zurückmelde, wird der Name des Elements wie erwartet zurückgegeben.)

Jeder sieht was ich falsch mache?

Ich könnte meinen vollständigen Code bei Bedarf veröffentlichen, aber ich glaube, dass diese Erklärung ausreichend sein kann.

+2

Zitate aus Spalte Wrap aus und Tabellennamen statt – Saty

+0

verwenden Graviszeichen Sie müssen das Ergebnis holen, wie Sie von der Ausführung eines MySQL-Array erhalten werden zurück –

+0

Erfahren Sie mehr über vorbereitete Anweisungen – Jens

Antwort

0

Sie müssen deklariert 'fetch_array' und diese URL Stellen Referenz: http://php.net/manual/en/mysqli-result.fetch-array.php

Beispiel: -

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3"; 

$result = $mysqli->query($query); 

$row = $result->fetch_array(MYSQLI_NUM); 
+1

Dies als Lösung zu markieren, ist das, was ich am Ende benutzt und verwendet habe. (Ich bin sicher, einige der anderen Vorschläge würden auch funktionieren.) Danke an alle, die helfen! –

0

ändern $query2 = "SELECT Cost FROM 'item' WHERE Item = '$item'"; zu
$query2 = "SELECT Cost FROM item WHERE item = '".$item."'";
Cost Unter der Annahme, ist Ihre Spaltennamen, der erste item ist Ihr Tabellenname, der zweite item ist ein anderer Spaltenname (Bitte chan Geben Sie Ihre Namenskonvention ein und verwenden Sie nicht denselben Namen für Tabelle und Spalte. Um Ihre Frage übersichtlicher zu gestalten, geben Sie bitte Ihren Tabellennamen und Ihre Spaltennamen an, damit wir Ihnen eine genauere Antwort geben können.

Auch Sie müssen Ihre $item Variable mit '".$item."' zu entkommen, so dass Sie aus Ihrer Datenbank ordnungsgemäß mit dieser Variable abfragen können.

Sie müssen dann die Ergebnisse von der Abfrage der Datenbank abrufen.
$results = $db->fetch_all($cost);
Um zu testen, ob die Daten erfolgreich abgerufen wurden, können Sie sie testen, indem Sie sie mit print_r($results); drucken. Dies sollte Ihnen ein Array der Ergebnisse zurückgeben.

0

Dies könnte Ihnen helfen.

$input = "100"; 

$query = "select sal from sal where sal='$input'"; 
$result = mysql_query($query); 

$row = mysql_fetch_row($result); 
//This will print sal 
echo $row['sal']; 

Bitte lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben.

+0

Sie sollten es mindestens zu mysqli wenn nicht pdo ändern. Und verwenden Sie vorbereitete Anweisungen wann immer Sie können, mysql ist veraltet und wird Warnungen bei der Ausführung auslösen. – FMashiro

0
$query=mysql_query("SELECT Cost FROM item WHERE Item = '$item'"); 
while($x=mysql_fetch_array($query)) 
{ 
$cost=$x['Cost']; 
echo $cost; //here we can return the result 
}