2014-07-25 56 views
0

我有一個PHP腳本查詢數據庫,並在<select>標記中填充一些<option>標記。請參見下面的代碼:Php腳本無法在for(;;)循環後繼續

$stmt = sqlsrv_query($dbc, $tsql, $params, $dbcOptions); 
if($stmt === false) { 
     die (print_r (sqlsrv_errors(), true)); 
} 
$rows = sqlsrv_num_rows($stmt); 
#echo $rows.'rows'; 
echo '<!--'.$rows.'-->'; 
echo '<select onchange="getNamesByDep(this.value)">'; 
echo '<option value="">Select a Department. . .</option>'; 

for ($i = 1; i <= $rows; $i++) 
{ 
     if(sqlsrv_fetch($stmt) !== false) 
     { 
       $DepName = sqlsrv_get_field($stmt,0); 
       echo ' <option row="'.$i.'" value="'.$DepName.'">'.$DepName.'</option>'."\r\n"; 
     } 
} 
echo '</select>'; 
echo 'Debugging'; 

它從來沒有回聲</select>Debugging頁面的HTML。

我知道我正確配置了$dbc,$tsql,$params$dbcOptions,因爲我從我的查詢中獲得了期望的結果。

我有一個語法錯誤,我的Web服務器(WIMPServer)沒有捕獲?

+1

什麼? –

+0

另外,請確保沒有''','<', or '>'在'$ DepName'的任何值中。 –

+0

'

回答

3

我想我找到它:

for ($i = 1; i <= $rows; $i++) 

你第二i之前忘了美元符號。它應該是這樣的:

for ($i = 1; $i <= $rows; $i++) 
+2

我們有一個贏家+1 –

+1

我只是要評論那個笑話@EdCottrell然而我在質疑'

+0

@EdCottrell編輯我上面的評論。看起來像無效的HTML。 –

1

你錯過了一個美元符號:

for ($i = 1; i <= $rows; $i++) 

應該

for ($i = 1; $i <= $rows; $i++) 
0

發現了錯誤。

相反的:

for ($i = 1; i <= $rows; $i++) 
{ 
     etc 
} 

我需要有:在你的錯誤日誌

for ($i = 1; $i <= $rows; $i++) 
{ 
     etc 
} 
+2

*「發現錯誤。」*發佈此消息之前還有一些其他人。你應該接受第一個答案,主要是馬里亞諾的 –

+0

我接受了。在埃德要求我檢查錯誤日誌後,我發現了錯誤。我以爲我在其他人面前發佈了一個答案。 –

+0

10-4好吧,至少問題被發現並解決;-) –