PHP中的双引号

时间:2016-11-15 23:04:04

标签: php mysqli

我根本不懂PHP,所以我正在努力解决这个问题。我需要在MySQL查询中添加var g = d3.select("#chart1 svg .nvd3"); g.append("line") .style("stroke", "#FF7F0E") .style("stroke-width", "2.5px") .attr("x1", xValueScale("A")) .attr("y1", yValueScale(yValue)) .attr("x2", xValueScale("A") + 100) .attr("y2", yValueScale(yValue)); 部分,但我正在搜索的值有双引号。我需要弄清楚如何在PHP中添加它们,以便将它们传递给MySQL。当前查询如下所示:

or

但是我需要添加$query = 'SELECT * FROM ' .$tableName.' WHERE allowed_countries LIKE "%'.$regionId.'%" and skurules REGEXP "i:'.$secondlastdigit.';" and status = 1 ORDER BY id DESC LIMIT 1'; 语句来搜索看起来像这样的字符串值:

or

在'。$ secondlastdigit。'的第二个实例周围加上双引号;传入MySQL时。

我正在搜索的JSON字符串如下所示:

$query = 'SELECT * FROM ' .$tableName.' WHERE allowed_countries LIKE "%'.$regionId.'%" and skurules  REGEXP "i:'.$secondlastdigit.';" or skurules  REGEXP "s:1:'.$secondlastdigit.';" and status = 1 ORDER BY id DESC LIMIT 1';

2 个答案:

答案 0 :(得分:2)

首先: DON' T

如果你还想,那么...... 真的不要

在序列化数组上进行SQL查询真是太棒了。你应该不惜一切代价避免它。

或者:

  • 将序列化列转换为标准SQL表
  • 或者将列选择为PHP变量,反序列化并搜索它。

示例:

$properPhpArray = unserialize($sqlResult['column_name']);

答案 1 :(得分:0)

同意,搜索序列化字符串并不是最好的解决方案,尽管有一个bottle_size表可供开发人员使用。我需要快速修复,没有时间/技能来重写税收计算magento扩展,所以我在查询中使用replace来解决我的问题。

因为“s:1:X”将始终只是1之后的一个字母字符,并且不会与其他任何字符匹配。我将查询更改为:

$ query ='SELECT * FROM'。$ tableName。' WHERE allowed_countries LIKE“%'。$ regionId。'%”和skurules REGEXP“i:'。$ secondlastdigit。';”或替换(skurules,char(34),0)REGEXP“s:1:0'。$ secondlastdigit.'0;”和status = 1 ORDER BY id DESC LIMIT 1';

非常讨厌修复,但现在让我摆脱束缚..

标记