我可以将一个字符串存储在mySQL中的一个字段中,我可以在PHP中回显,这也会声明变量吗?

Jer*_*owe 5 php mysql string variables echo

我有一个包含变量的.php页面,每个变量都与几十个不同的搜索条件相关联.我认为将所有变量作为一个巨大的字符串插入数据库是最容易的.

然后我认为将变量及其声明与它们作为一个巨大的字符串进行干扰会更加容易.

所以我的意思是,而不仅仅是这个:

Stewie
101
Green
Run Code Online (Sandbox Code Playgroud)

我想把它作为数据库中的一个大blob:

$user_name = 'Stewie';
$pants_size = '101';
$favorite_eggs = 'Green';
Run Code Online (Sandbox Code Playgroud)

这样,我就能够非常轻松地捕获和提取大量用户首选项数据,而无需在数组方面做太多工作.毕竟,我必须经常更改页面,改变阵列会很头疼.

如果我能做到这一点,我可以简单地,它可以简单地重新声明所有变量,我不再需要考虑它.

记录不需要是可搜索的,只能通过变量声明提取(如$ var ='value';带引号和all).

我到目前为止调查的内容如下:

  • 一个javascript选项.是的,我知道用javascript做一些精心设计的东西是可能的,但它远比我想要回应的"一个大变量复杂,但神奇地也在"方法中声明变量.如果我这样做,我也可以做阵列.
  • 数组选项.这涉及内爆/爆炸.php中的内容,而且我担心在太长时间之前我必须结束选择.但是,如果可能的话,我宁愿选择我设想的一步法.
  • '将每个变量分别存储在数据库'选项中的自己的字段中.这太可怕了,因为田地经常变化(并且被添加到),这会让我感到沮丧.我会更早地做数组选项,因为它只是一些小的用户偏好.

任何帮助都会受到赞赏,即使是告诉我,"这是不可能的.我推荐[XYZ]."

谢谢!

编辑:戴夫e有一个很好的解决方案,通过eval 检索这些数据.但是我仍然对如何将数据开始进入数据库感到有点困惑.以相同的方式存储> 100个变量及其声明($ variable_name ='value')有点令人困惑!

ips*_*sum 0

尝试这个:

$data = array();
$data['user_name'] = 'Stewie';
$data['pants_size'] = '101';
$data['favorite_eggs'] = 'Green';
$one_big_string = serialize($data);
// store $one_big_string in your database.

$one_big_string_from_db // <= string from db
extract(unserialize($one_big_string_from_db));
// All array keys will become local variables.
Run Code Online (Sandbox Code Playgroud)