2015-05-04 98 views
0

該代碼有問題,我的意思是,它沒有做我想做的事。填充從數據庫中選擇使用php

<?php 
    $con = mysql_connect($db_s, $db_u, $db_p); 
    $db = mysql_select_db("saritur", $con); 
    $query = "SELECT resumo FROM resumos"; 
    $res = mysql_query($query,$con); 

    echo "<select name='usuario' id='usuario'>"; 
    while (($row = mysql_fetch_row($res)) != null) 
    { 
    echo "<option value = '".$row['resumo']."'>".$row['resumo']."</option>"; 
    } 
    echo "</select>"; 
    mysql_close($con); 
?> 

我是新進的PHP所以這已經是一個問題,我得到了在這裏的另一個問題是代碼,但仍然無法工作

編輯:

玉傢伙我有一個愚蠢的問題,變量$ db_s,$ db_u等是在一個包含文件,不幸的是我沒有得到來自它的價值,所以我不得不宣佈他們的主文件,它現在看起來像這樣:

<select name="resumo" id="usuario"> 
    <?php 
    $db_u = 'phiter'; 
    $db_p = '****'; 
    $db_s = '127.0.0.1'; 

    $con = mysql_connect($db_s, $db_u, $db_p); 
    $db = mysql_select_db("saritur", $con); 
    $query = "SELECT * FROM resumos"; 

    $res = mysql_query($query,$con); 
     while ($row = mysql_fetch_row($res)) 
     { 
      echo "<option value = '{$row['resumo']}'>{$row['resumo']}</option>"; 
     } 

    mysql_close($con); 
    ?> 
</select> 

它與數據庫進行通信,並且行數與數據庫上的數字相同,NICE!但它都顯示白色塊,沒有任何東西寫在選項上。我看到網頁代碼中的錯誤,它說

注意:未定義指數:resumo在XXX上線

WHYYYYYY

另一個更新:

改變mysql_fetch_rowmysql_fetch_array,現在可以運作

+0

它是做什麼的? – braks

+0

沒什麼,它應該填充一個選擇框,但它沒有這樣做。 – Phiter

+0

您正在使用的功能已過時,您是否正在學習一個非常古老的教程?檢查php.net參考頁面中的這些函數,它們在PHP 5中被棄用。儘管這不應該解釋爲什麼它不起作用。 – braks

回答

1

我要去賭博了在這裏,這是不對的嘛......

while (($row = mysql_fetch_row($res)) != null) 

變化

while (($row = mysql_fetch_assoc($res))) 

爲什麼?請參閱參考頁

http://php.net/manual/en/function.mysql-fetch-row.php

http://php.net/manual/en/function.mysql-fetch-assoc.php

和mysql_fetch_row()返回一個數字數組,而mysql_fetch_assoc返回鍵陣列...這是你如何使用它。

或者,您可以繼續使用mysql_fetch_row(),然後使用$ row [0]或reset($ row)來訪問第一個值。

+0

WOW mysql_fetch_assoc修復了我的新問題哈哈,謝謝隊友! – Phiter

+1

請注意頁面頂部的鏈接上的警告;這兩個函數都被棄用 – nomistic

0

使用mysql_fetch_assoc或mysql_fetch_array代替mysql_fetch_row