我的数据库中的一个字段是使用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