小编Jer*_*owe的帖子

在PHP中,如何创建包含引号和撇号的mySQL选择查询?

我正在使用mysql_real_escape_string将数据存入我的数据库而没有任何问题.

所以数据库中的条目可能是:

1/4" Steve's lugnuts
Run Code Online (Sandbox Code Playgroud)

所以这完全在数据库中.
现在我想搜索那个确切的东西.但是,它会陷入"或者"(我已经尝试了很多东西,它总是在某处弄乱).

这就是我现在拥有的:( user_input来自上一页的表格)

$user_input=mysql_real_escape_string($_REQUEST['user_input']);
$search_row=mysql_query("SELECT * FROM some_table WHERE some_column LIKE '%$user_input%' ");
while($search = mysql_fetch_array($search_row))
            {stuff happens}

echo "<form action='search_results.php' method='post'>";
echo "<input name='user_input' type='text' size='50' value='" . $user_input. "'>";
echo "<input type='submit' value='Lookup Parts' />";
echo "</form>";
Run Code Online (Sandbox Code Playgroud)

但问题是,我似乎无法得到任何错误.
搜索字段(应该填充它们已经放入的内容)只有:

1/4\" Steve\
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

php mysql escaping quoting

6
推荐指数
1
解决办法
2279
查看次数

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

我有一个包含变量的.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')有点令人困惑!

php mysql string variables echo

5
推荐指数
1
解决办法
749
查看次数

在PHP中,如何判断数组中特定值的哪些值相邻?

我有一系列的价值观.假设数组是这样的:

[apple, banana, coconut, duku, emblica, fig, gooseberry]
Run Code Online (Sandbox Code Playgroud)

让我们说我知道一个具体的价值,"无花果".我如何才能知道它之前和之后的哪个值?

php arrays

2
推荐指数
1
解决办法
911
查看次数

在PHP中,如何让mySQL数据库检索匹配特定值的最新记录?

我有一个表格,用户将选择一个类别并输入搜索参数,我必须找到帽子类别中的最新值.

数据集的示例可能是:

ID  | category  | name  | price | date
1   | bubblegum | Steve | 2.00  | 2011/1/1
2   | bubblegum | Bob   | 1.00  | 2011/1/8
3   | bubblegum | Steve | 1.80  | 2011/2/1
Run Code Online (Sandbox Code Playgroud)

如果用户搜索"Steve",他们将只获得其中还有"steve"名称的最新价格.

Max(date)似乎不起作用,我不明白为什么.我认为这是因为如果我要寻找"bob",因为Bob没有出现在Max(日期)中,它就不会出现.但也许我使用SELECT参数错误.

php mysql select

1
推荐指数
1
解决办法
56
查看次数

标签 统计

php ×4

mysql ×3

arrays ×1

echo ×1

escaping ×1

quoting ×1

select ×1

string ×1

variables ×1