【问题标题】:PHP, OOP, properties [closed]PHP,OOP,属性
【发布时间】:2015-02-27 23:59:54
【问题描述】:

有人可以帮我使用 php oop 进行查询吗,这是我尝试但不起作用的方法:

$this -> hashs = DB::select('SELECT * FROM'. $this -> table .'WHERE'. $this-> colRep .'IS NULL &&'. $this -> colCol .'= ?', array($this -> commentHASH));

如果我使用普通变量工作正常....

【问题讨论】:

  • 将您的数据库查询包装在 try/catch 中。这样您就可以轻松地显示 DB::select 给您的错误消息。

标签: php oop properties


【解决方案1】:

在 php . 中,您要连接的元素之间没有空格。这将是一个开始。

【讨论】:

  • 那会是错误的,就像你这样 SELECT * FROMtablename ....
【解决方案2】:
$this->hashs = DB::select('SELECT * FROM ' . $this->table . ' WHERE ' . $this->colRep . ' IS NULL AND ' . $this->colCol . ' = ?', array($this->commentHASH));

试试这样的。如果您已经在使用准备好的语句,为什么只使用 $this->commentHASH 呢?永远不要将 sql 查询与 php 变量连接起来,因为它很容易受到 sql 注入的攻击。

【讨论】:

  • 但这不是来自用户输入的变量...
  • 然而,如果变量不是来自用户输入,但漏洞仍然存在于应用程序中,情况会好很多。
  • 如果用户无法更改sql流程,如何执行SLQi?
  • 也许用户无法进行sql注入,但程序员仍然有机会这样做。
  • 你有例子吗?我的观点是,如果没有 get 或 post 方法,SQLi 是不可能的......
猜你喜欢
  • 1970-01-01
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
  • 1970-01-01
  • 2013-12-17
相关资源
最近更新 更多