【问题标题】:sql php single quote or apostrophesql php 单引号或撇号
【发布时间】:2018-11-15 17:08:58
【问题描述】:

如何使用 sql & php 搜索包含单引号 ( ' ) 的 @display 变量?

例如: CompanyName = ABC'S ENTERPRISE

$comp_name (as variable)

$tsql = "SELECT CompanyName from tbl.company WHERE CompanyName LIKE '%$comp_name%'";

【问题讨论】:

  • 查看prepared statements并绑定变量,这将解决很多问题。
  • 使用语句,但在查询周围加上双引号应该允许您在实际查询字符串中使用未转义的单引号。
  • 有什么例子吗?

标签: php sql apostrophe


【解决方案1】:

使用addslashes这样的php函数

$tsql = "SELECT CompanyName from tbl.company WHERE CompanyName LIKE '%".addslashes($comp_name)."%'";

为你举例

公司名称 = ABC'S ENTERPRISE

addslashes 将添加一个类似

的斜线

ABC的企业

现在生成的查询将是

SELECT CompanyName from tbl.company WHERE CompanyName LIKE 'ABC\'S ENTERPRISE'

【讨论】:

  • 在数据库(公司名称)中添加斜线吗?那么该公司的数据库中将是 ABC\'S ENTERPRISE?
  • select查询如何将数据添加到数据库中?
  • 你能简单解释一下你的问题吗
  • 基于我已经给出的查询.. 我想用 (') 搜索公司,通过使用这个 url -> localhost/api/company.php?comp_name=ABC'S ENTERPRISE
【解决方案2】:

你可以这样使用

$comp_name(作为变量)

$tsql = 'SELECT CompanyName from tbl.company WHERE CompanyName LIKE "%'.$comp_name.'%"';

【讨论】:

  • 错误:致命错误:未捕获的 DivisionByZeroError:以零为模
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 2013-03-04
  • 2014-11-21
  • 1970-01-01
相关资源
最近更新 更多