2012-08-16 102 views
1

可能重複:
PHP: 「Notice: Undefined variable」 and 「Notice: Undefined index」從MySQL數據庫中獲取類型「文本」的價值

我是新來的PHP和MySQL,這是我的計劃的一部分,但會發生什麼它不會返回數據庫中'文本'列的值,而是說'未定義索引'文本''。我100%確定它存在於數據庫中。有人可以幫幫我嗎?

$method_get_article = "SELECT TEXT FROM ARTICLE WHERE UID = '$user_id' LIMIT 1"; 
$get_article = mysql_query($method_get_article, $conn) or die (mysql_error()); 
$article = mysql_fetch_array($get_article);**strong text** 
$text = $article['Text']; 
//$row = mysql_fetch_assoc($get_article); 
//$text = $row['Text']; 
echo $text; 
+3

它可能無法回答你的問題,但你應該停止使用'mysql_ *'函數。他們正在被棄用。請使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果你不確定使用哪一個,[閱讀本文](http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/)。 – Matt 2012-08-16 15:13:23

+3

不要在字段中使用保留字但是如果你必須使用'引號在它們周圍 – Waygood 2012-08-16 15:13:29

+2

umm TEXT!=文本 – 2012-08-16 15:14:05

回答

2

錯誤非常清楚地解釋了這個問題:「未定義指數 '文本'

在開始的時候你寫:

$method_get_article = "SELECT TEXT FROM ARTICLE WHERE UID = '$user_id' LIMIT 1"; 

這意味着你選擇名爲 「TEXT」 列,然後再寫:

$text = $article['Text']; 

其中獲取名爲「文本」的列。

改變他們,使他們是相同的。