我的数据库中的一个字段是一个使用implode()
函数转换为字符串的数组。
当用户输入的值等于字段LESSONS
的值时,如何从数据库中检索此字段的内容(NAME
)并将其存储为字符串?
提前感谢您提供的任何帮助。
答案 0 :(得分:1)
你走了:
$r = mysql_query('SELECT LESSONS FROM TABLE WHERE NAME=\'user_string\'');
$rows = mysql_fetch_assoc($r);
echo $rows['LESSONS'];
答案 1 :(得分:0)
我不知道我是否理解了你的问题,但......看看Stored Procedures
答案 2 :(得分:0)
如果您使用implode函数将数组转换为字符串,则此数据已丢失有关数组键的任何信息。
只要您想要转换数据,请使用explode功能:
$array = explode(',', $columnData);
但是你不能在数据库中搜索数组键。
接下来,MySQL数据库(我假设您正在使用MySQL)无论如何都无法搜索数组键。
您需要以其他方式将数据存储到mysql中,以便稍后在SQL中搜索它。
例如,您可以创建一个表,用于存储具有分组索引的键/值组合。
然而,MySQL有一些字符串函数可以帮助您在MySQL数据库中的(现在)字符串数据中进行搜索。
在搜索值时,在比较之前在字符串的开头和结尾处添加逗号。有一个MySQL字符串函数可以连接字符串。然后在该表达式中搜索您的值,并在前后添加逗号。
然后你可以在mysql数据库中查看单个数组元素。 MySQL String Functions
这只是一个快速解决方案,这不适用于大型数据库性能。但是,它可以解决您的问题,而无需更改数据库结构。