我的數據庫中的一個字段是使用implode()
函數轉換爲字符串的數組。如何將字段從MySQL數據庫存儲爲PHP中的字符串?
如何從數據庫中檢索該領域(LESSONS
)的內容,並將其存儲到字符串,當用戶輸入的值等於場NAME
的價值?
在此先感謝您提供的任何幫助。
我的數據庫中的一個字段是使用implode()
函數轉換爲字符串的數組。如何將字段從MySQL數據庫存儲爲PHP中的字符串?
如何從數據庫中檢索該領域(LESSONS
)的內容,並將其存儲到字符串,當用戶輸入的值等於場NAME
的價值?
在此先感謝您提供的任何幫助。
在這裏你去:
$r = mysql_query('SELECT LESSONS FROM TABLE WHERE NAME=\'user_string\'');
$rows = mysql_fetch_assoc($r);
echo $rows['LESSONS'];
我不明白-1,因爲這似乎是問題的正確答案。 – 2011-06-12 14:24:52
如果您使用的破滅功能,您的數組轉換成字符串,那麼這個數據已經失去了關於數組鍵的任何信息。
至於你想將數據轉換回,使用爆炸功能:
$array = explode(',', $columnData);
但因此,你不能搜索數據庫中的數組鍵。
接下來,MySQL數據庫(我假設你正在使用MySQL)無論如何都無法搜索數組鍵。
您需要以某種其他方式將數據存儲到mysql中,以便稍後在SQL中進行搜索。
例如,您可以創建一個存儲具有分組索引的鍵/值組合的表。
但是,MySQL有一些字符串函數可以幫助您在MySQL數據庫的(現在)字符串數據中搜索。
當搜索一個值時,在比較之前,在字符串的開頭和結尾添加一個逗號。有一個可以連接字符串的MySQL字符串函數。然後在表達式中搜索您的值,同時在前面和後面添加逗號。
然後,您可以查看mysql數據庫中的單個數組元素。 MySQL String Functions。
這只是一個快速解決方案,這不適用於大型數據庫性能。但它可能會解決您的問題而不會更改您的數據庫結構。
你可以添加一些細節?你已經做了什麼?什麼代碼不起作用? – Michas 2011-06-12 14:28:58