php - 我可以将一个字符串存储到 mySQL 中的单个字段中,我可以在 PHP 中回显,它也声明了变量吗?

标签 php mysql string variables echo

我有一个包含变量的 .php 页面,每个变量都与许多不同的搜索条件相关联。我认为将所有变量作为一个巨大的字符串塞入数据库是最简单的。

然后我认为将变量及其声明作为一个巨大的字符串会更容易。

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

Stewie
101
Green

相反,我希望将其作为数据库中的一个大 blob:

$user_name = 'Stewie';
$pants_size = '101';
$favorite_eggs = 'Green';

这样一来,我就可以非常轻松地捕获和提取大量用户偏好数据,而无需在数组方面做太多工作。毕竟,我必须经常更改页面,以至于更改数组会很头疼。

如果我能做到这一点,我就可以简单地一次性重新声明所有变量,我就不必再考虑了。

记录不需要可搜索,只需使用变量声明(如 $var='value'; 使用引号和所有)提取即可。

目前我调查的情况如下:

  • 一个 javascript 选项。是的,我知道可以用 javascript 做一些复杂的事情,但它比我的“我想回显的一个大变量,但神奇地也在其中声明变量”方法复杂得多。如果我这样做,我也可以做数组。
  • 一个数组选项。这涉及 .php 中的 implode/explode 东西,我担心我将不得不在太久之前结束选择。但是,如果可能的话,我宁愿采用我设想的一步法。
  • “将每个变量分别存储在数据库中它自己的字段中”选项。这太可怕了,因为字段更改(并添加到)的频率足以让我发疯。我会更早地选择阵列选项,因为它只是一些小的用户偏好。

任何帮助都将不胜感激,即使是告诉我“这是不可能的。我推荐 [XYZ]。”

谢谢!

编辑:dave e 在下面有一个很好的解决方案,可以通过 eval 来检索此类数据。但我仍然对如何将这些数据导入数据库一开始感到困惑。以同样的方式存储 >100 个变量及其声明($variable_name='value')有点令人困惑!

最佳答案

像这样做一个选项数组:

$option_array['user_name'] = 'Stewie';
$option_array['pants_size'] = '101';

使用序列化来存储数据

$stored_string = serialize($option_array);

当您从数据库中取回数据时,将其反序列化 $option_araay = unserialize($option_array);

!

关于php - 我可以将一个字符串存储到 mySQL 中的单个字段中,我可以在 PHP 中回显,它也声明了变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687202/

相关文章:

php - 我无法从 php 中的链接中找到数据

c++ - 在 C++ 中使用特殊格式将字符串拆分为字符串

string - 什么更好地在运行时生成随机 ID 或之前将它们放在手边?

c++ - 添加用户定义类型 C++

java.sql.SQLException : Duplicate entry for key when trying to insert in database from java 异常

php - 数据库输出未显示。获取 else 语句

php - 将图像保存在服务器中并链接到数据库 PHP 数据对象 PDO OOP

php - 我想在 Web 服务器的 mysql 数据库发生更改时发送推送通知。是否可以?

php - 获取表格发布时遇到问题

python - 由于字符串中的单引号或双引号而导致 SQL 语法错误