我在PHP中遇到了令人沮喪的經歷,因爲我一直讓我的MEDIUMTEXT字段作爲非字符串字符串返回。當我檢查變量的類型,它說這是一個字符串,但它實際上是一個數組,基本上是一個字符數組,所以我做的:PHP:如何將一個mysql TEXT或BLOB類型轉換爲字符串?
while ($row = mysql_fetch_assoc($records)) {
print_r($row["myText"]);
}
哪個不是打印出存儲有喜歡的實際文本「這裏是一個行」 ,它只是打印1.這是令人困惑,因爲我問這是什麼感覺它的數據類型和它說串......但是,如果我這樣做
$row["myText"][0]
它會返回「H」。我完全失去了如何將此值更改爲字符串,我的意思是我會認爲php有一些功能,但我找不到它。我也不知道它爲什麼說它不是一個數組。
任何想法?
編輯按要求
MySQL查詢
select * from snippets
一的print_r: 文本是在MySQL中MEDIUMTEXT列的名稱。其他人都沒有關係
Array ([index] => 1 [name] => a name [language] => english [text] =>) 1
EDIT2:
所有生成此錯誤代碼:
$username = "root";
$password = "";
$hostname = "localhost";
$dbname = "TestSnippets";
$dbh = mysql_connect($hostname, $username, $password)
$selected = mysql_select_db("snippets",$dbh);
$records = mysql_query("select * from snippets");
while ($row = mysql_fetch_assoc($records)) {
echo print_r($row);
}
這將產生每一次的錯誤。所有其他領域都非常好。但不是MEDIUMTEXT字段。
EDIT3:
我試圖安裝一個新的網絡服務器(Apache的)和PHP的新版本,但它仍然有同樣的問題。有趣的是,當我調用php-cgi.exe時,它會返回正確輸出該變量的數據。我不知道它可能是什麼,唯一的另外一點是我可以安裝不同版本的mysql。我明天再試,然後回報。
edit4:我自己解決了這個問題,牢記我在這裏被告知了什麼。請參閱我的回答以下我自己的問題。
如果你echo $ row [「myText」]'會發生什麼? – 2010-01-16 17:01:12
你能爲我們打印完整的'$ row'嗎? – 2010-01-16 17:02:05
你能用SQL查詢和print_r($ row)的完整結果更新你的問題嗎? – 2010-01-16 17:04:27