作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用这个https://github.com/ajillion/PHP-MySQLi-Database-Class
这是我的课
require_once ('class/MysqliDb.php');
class Foo {
private $db;
public function __construct()
{
$this->db = MySqliDb::getInstance();
}
}
public function register($password, $email) {
$password = @sha1($password);
$query = $this->db
->where('email', $email)
->get('users');
if (count($query) == 0)
{
$insertData = array(
'email' => $email,
'password' => $password
);
if($this->db->insert('users', $insertData)){
return true;
}
}else{
return FALSE;
}
}
我保存在 Db 中(如果 count($query) == 0
),但我也收到此错误
( ! ) Notice: Undefined property: MysqliDb::$_paramTypeList in /.../class/MysqliDb.php on line 356
如果我不写这个查询
$query = $this->db
->where('email', $email)
->get('users');
我没有错误。我可以在单个函数中进行多重查询吗?我怎么会出现这个错误 MysqliDb::$_paramTypeList
最佳答案
问题出在MysqliDb.php中的reset()函数
protected function reset()
{
$this->_where = array();
$this->_bindParams = array(''); // Create the empty 0 index
unset($this->_query); //<-- unsetting variables which could be resused
unset($this->_whereTypeList);
unset($this->_paramTypeList);
}
reset() 在每个执行方法之后运行,它取消设置 _paramTypeList 属性,而不是仅仅重新初始化它。因此,如果您使用同一数据库对象运行第二个查询,则不再定义 _paramTypeList 属性。
您可以通过编辑reset() 函数来将这些变量重新初始化回 null 来解决此问题:
protected function reset()
{
$this->_where = array();
$this->_bindParams = array(''); // Create the empty 0 index
$this->_query = null;
$this->_whereTypeList = null;
$this->_paramTypeList = null;
}
关于php - 错误 MysqliDb::$_paramTypeList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941107/
我用这个https://github.com/ajillion/PHP-MySQLi-Database-Class 这是我的课 require_once ('class/MysqliDb.php');
我是一名优秀的程序员,十分优秀!