如何将MySQL数据库中的字段存储为PHP中的字符串?

时间:2011-06-12 14:08:08

标签: php mysql

我的数据库中的一个字段是一个使用implode()函数转换为字符串的数组。

当用户输入的值等于字段LESSONS的值时,如何从数据库中检索此字段的内容(NAME)并将其存储为字符串?

提前感谢您提供的任何帮助。

3 个答案:

答案 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

这只是一个快速解决方案,这不适用于大型数据库性能。但是,它可以解决您的问题,而无需更改数据库结构。