2014-09-13 67 views
0

遺憾的簡單的問題,但我無法找到答案:如何從查詢中的一個值創建變量?

我有單獨一行結果的查詢,因爲我用的鍵列條件:

/*代碼獻給Bestandsabfrage erzeugen */ $ sql_bestand =「 SELECT * FROM tbl_bestand where weinid = $ weinid 」;

現在我想在變量$ anzahl使用行「anzahl」的價值:

/* Daten einlesen */ 
$result_bestand = mysql_query($sql_bestand, $conn) or die('Could not insert: ' . mysql_error()); 
$row = mysql_fetch_object($result_bestand); 
$anzahl = $row->anzahl; 

但是,這是行不通的。我怎樣才能使它工作?

回答

0

看來你是缺少一個while循環來設置你的價值期間提取操作:

$anzahl = null; 

mysql_connect("hostname", "user", "password"); 
mysql_select_db("mydb"); 

$result_bestand = mysql_query("select * from mytable"); 

while ($row = mysql_fetch_object($result_bestand)) { 
    $anzahl = $row->anzahl; 
} 

mysql_fetch_object($result_bestand); 

欲瞭解更多信息,結賬的第一個例子在這裏:

+0

當只有一個結果行時,爲什麼需要while循環? – HappyGuyEpicure 2014-09-13 19:23:42

+0

這是因爲它在** SQL **提取程序期間在** PHP ** *中設置變量。如果你這樣做,** SQL **獲取已經完成,所以沒有價值發送到** PHP **。如果你嘗試在while循環之外回顯結果,它也不起作用。這是因爲你正在處理2種不同的編程語言,** SQL **和** PHP **。 – DrewT 2014-09-13 19:26:55

+0

或者,如果你真的固執地不使用while循環,你可以這樣做:'$ row = mysql_fetch_row($ result_bestand);'then'$ anzahl = $ row [0]'如果anzahl是行中的第一列。 。如果不是用表中的anzahl索引位置替換0。即'$ anzahl = $ row [3]'如果它是第4列。更多信息和例子在這裏:http://php.net/manual/de/function.mysql-fetch-row.php – DrewT 2014-09-13 20:00:32

相關問題