2011-06-12 39 views
0

我的数据库中的一个字段是使用implode()函数转换为字符串的数组。如何将字段从MySQL数据库存储为PHP中的字符串?

如何从数据库中检索该领域(LESSONS)的内容,并将其存储到字符串,当用户输入的值等于场NAME的价值?

在此先感谢您提供的任何帮助。

+0

你可以添加一些细节?你已经做了什么?什么代码不起作用? – Michas 2011-06-12 14:28:58

回答

1

在这里你去:

$r = mysql_query('SELECT LESSONS FROM TABLE WHERE NAME=\'user_string\''); 
$rows = mysql_fetch_assoc($r); 
echo $rows['LESSONS']; 
+0

我不明白-1,因为这似乎是问题的正确答案。 – 2011-06-12 14:24:52

0

我不知道如果我理解你的问题,但是......看看关于Stored Procedures

+0

没有答案。 – 2011-06-12 15:00:38

0

如果您使用的破灭功能,您的数组转换成字符串,那么这个数据已经失去了关于数组键的任何信息。

至于你想将数据转换回,使用爆炸功能:

$array = explode(',', $columnData); 

但因此,你不能搜索数据库中的数组键。

接下来,MySQL数据库(我假设你正在使用MySQL)无论如何都无法搜索数组键。

您需要以某种其他方式将数据存储到mysql中,以便稍后在SQL中进行搜索。

例如,您可以创建一个存储具有分组索引的键/值组合的表。

但是,MySQL有一些字符串函数可以帮助您在MySQL数据库的(现在)字符串数据中搜索。

当搜索一个值时,在比较之前,在字符串的开头和结尾添加一个逗号。有一个可以连接字符串的MySQL字符串函数。然后在表达式中搜索您的值,同时在前面和后面添加逗号。

然后,您可以查看mysql数据库中的单个数组元素。 MySQL String Functions

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

+0

关于索引键的信息是不需要的,我打算使用explode()函数将我从数据库中获取的字符串转换为数组。先前阵列上的键只是一个简单的基于0的数组。 – Stevan 2011-06-12 14:25:33

+0

@Stevan:更新了我对新信息的回答。 – hakre 2011-06-12 14:34:56

相关问题