2012-08-15 63 views
0

可能重複的功能:
PHP: 「Notice: Undefined variable」 and 「Notice: Undefined index」未定義的變量,同時呼籲執行查詢

這一定是簡單的東西...

這個腳本調用一個db_prcislo()函數。

<?php 
    require_once "kniznica/vyk/uzivatel_vyk.php"; db_prcislo(); 
    echo '<select name="problem_cislo">'; 
    while($row = mysql_fetch_array($vysledok)){ 
    echo "<option value='".$row['problem_cislo']."'>".$row['problem_cislo']."</option>";} 
    echo "</select>"; 
?> 

這是db_prcislo()函數

function db_prcislo() { 
$poziadavka = "SELECT problem_cislo FROM problem_cislo"; 
$vysledok = mysql_query($poziadavka); 
return $vysledok;} 

然而,我越來越不確定的變量。

+0

說明:未定義變量:vysledok在C:\瓦帕\ WWW \ intranet_pre_ikeacmpts \ pridatartikel.php上線24 – PatrikVrbovsky 2012-08-15 14:50:55

+2

在第一塊,您沒有分配任何值到''中使用它之前$ vysledok' mysql_fetch_array'。除此之外,請停止使用古代mysql_ *函數編寫新代碼。他們不再保持和社區已經開始了[棄用過程(http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 – DCoder 2012-08-15 14:51:17

+0

你沒有存儲函數返回的值,試試這個$ vysledok = db_prcislo(); – Tarun 2012-08-15 14:52:49

回答

0

出現此錯誤是因爲您正嘗試在while()循環中使用變量$vysledok,但您從未分配它。你只在你的db_prcislo()函數中分配它。

更新到這一點,它應該工作:

<?php 
    require_once "kniznica/vyk/uzivatel_vyk.php"; 

    $vysledok = db_prcislo(); 
    echo '<select name="problem_cislo">'; 
    while($row = mysql_fetch_array($vysledok)){ 
    echo "<option value='".$row['problem_cislo']."'>".$row['problem_cislo']."</option>";} 
    echo "</select>"; 
?> 
0

你沒有做與db_prcislo返回任何有價值的東西。

而不是

db_prcislo(); 

你應該有

$vysledok = db_prcislo(); 
+0

我會將此標記爲答案...需要進行一些睡眠。 – PatrikVrbovsky 2012-08-15 14:53:26

0

您必須檢索您的函數調用的結果:

替換:

db_prcislo(); 

帶:

$vysledok = db_prcislo();