Php foreach($k=>v的参数) { 如果($v[0]=$val) 返回$k; } } 私有函数构建参数($params) { $PDO_常量=数组( 'int'=>PDO::PARAM_int, 'str'=>PDO::PARAM_str, 'bool'=>PDO::PARAM_bool, 'float'=>PDO::PARAM_STR ); //将PDO值设置为params 对于($i=0;$ierror=$error; $this->pdorerror=$error; } //关闭一切 公共函数_udestruct() { //关闭数据库连接 $this->pdo=null; } }
您调用Php foreach($k=>v的参数) { 如果($v[0]=$val) 返回$k; } } 私有函数构建参数($params) { $PDO_常量=数组( 'int'=>PDO::PARAM_int, 'str'=>PDO::PARAM_str, 'bool'=>PDO::PARAM_bool, 'float'=>PDO::PARAM_STR ); //将PDO值设置为params 对于($i=0;$ierror=$error; $this->pdorerror=$error; } //关闭一切 公共函数_udestruct() { //关闭数据库连接 $this->pdo=null; } },php,sql,pdo,Php,Sql,Pdo,您调用$this->lasta->execute()但您没有字段lasta 试试这个 $this->lastquery->execute(); 我会尝试扩展db\u句柄类,并修改/创建如下方法: <?php // Make sure the db_handle is included and loaded before hand so it can be extended class QueryEngine extends db_handle { pr
$this->lasta->execute()代码>但您没有字段lasta
试试这个
$this->lastquery->execute();
我会尝试扩展db\u句柄
类,并修改/创建如下方法:
<?php
// Make sure the db_handle is included and loaded before hand so it can be extended
class QueryEngine extends db_handle
{
private $bind;
public function connect($host, $username, $password, $database)
{
// One note, I removed:
// $this->DBPrefix = $DBPrefix;
// $this->CHARSET = $CHARSET;
// You can add those back in if you want
try {
// Create connection
$opts = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC);
$this->pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password,$opts);
}
catch(PDOException $e) {
die($e->getMessage());
}
}
public function query($query, $params = false)
{
if(!empty($params))
$this->bindVals($params);
try {
if(!empty($this->bind)) {
$this->lastquery = $this->pdo->prepare($query);
$this->lastquery->execute($this->bind);
}
else
$this->lastquery = $this->pdo->query($query);
}
catch(PDOException $e) {
die($e->getMessage());
}
return $this;
}
public function fetch()
{
while($row = $this->lastquery->fetch())
$result[] = $row;
return (!empty($result))? $result : 0;
}
private function bindVals($params = false)
{
$this->bind = false;
if(empty($params) || !is_array($params))
return $this;
$i = 0;
foreach($params as $values) {
$this->bind[':'.$i] = $values;
$i++;
}
return $this;
}
}
这会给您一些类似的信息(在MyDB中,显然,表和列对您来说是不同的):
您使用的类库与我的类库类似,因此我添加的是我使用的类的一部分。我测试了这个扩展类,它与我的数据库一起工作,所以希望它与您的数据库一起工作 谢谢,但仍然不起作用:'(我得到一个我得到一个未捕获的异常“PDOException”,带有消息“SQLSTATE[HY000]:一般错误:2053我不知道,伙计,这个脚本是由u-Auctions编写的,他们在论坛的网站上没有修复程序。我到处搜索。你可以在下载它,但在他们的网站上没有支持:'(
<?php
// Make sure the db_handle is included and loaded before hand so it can be extended
class QueryEngine extends db_handle
{
private $bind;
public function connect($host, $username, $password, $database)
{
// One note, I removed:
// $this->DBPrefix = $DBPrefix;
// $this->CHARSET = $CHARSET;
// You can add those back in if you want
try {
// Create connection
$opts = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC);
$this->pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password,$opts);
}
catch(PDOException $e) {
die($e->getMessage());
}
}
public function query($query, $params = false)
{
if(!empty($params))
$this->bindVals($params);
try {
if(!empty($this->bind)) {
$this->lastquery = $this->pdo->prepare($query);
$this->lastquery->execute($this->bind);
}
else
$this->lastquery = $this->pdo->query($query);
}
catch(PDOException $e) {
die($e->getMessage());
}
return $this;
}
public function fetch()
{
while($row = $this->lastquery->fetch())
$result[] = $row;
return (!empty($result))? $result : 0;
}
private function bindVals($params = false)
{
$this->bind = false;
if(empty($params) || !is_array($params))
return $this;
$i = 0;
foreach($params as $values) {
$this->bind[':'.$i] = $values;
$i++;
}
return $this;
}
}
$dbEngine = new QueryEngine();
$dbEngine->connect($host,$username,$password,$database);
print_r($dbEngine->query("select * from users where ID = :0",array("1"))->fetch());
Array
(
[0] => Array
(
[ID] => 1
[unique_id] => 20150203190700523616
[username] => tester
[password] => $2a$12$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[first_name] => Ras
[last_name] => Clatt
[email] => ras@clatt.com
[usergroup] => 3
[user_status] => on
[reset_password] => $2y$10$xxxxxxxxxxxxxxxxxxx
[timestamp] => 2015-09-25 08:35:09
)
)