我对 OOP 不是很好,我需要一个脚本。我尽力做到最好,但我无法让它发挥作用。有人可以为我制作一个 OOP 脚本(这是一个小脚本)。
我需要一个函数startTransaction()
,在函数内部我放了两个查询。我还在这个函数中创建了一个变量($transaction_called=1)
,下次调用该函数时,它应该可以访问这个变量。
我需要第二个功能stopTransaction()
。这个函数里面也有查询,我需要访问里面的变量startTransaction()
。
每次在随机脚本中,我startTransaction()
使用变量 $transaction_call 调用 and 我检查是否调用了该函数。
这就是我所拥有的,但我不知道如何解决它。
class Foo
{
protected $_transaction_called = '0';
public function transactionCalled()
{
// code ...
$this->_transaction_called = '1';
}
public function startTransaction()
{
if(!$this->_transaction_called === '1') {
$this->transactionCalled();
mysql_query("START TRANSACTION", $db);
}else{
//do nothing, transaction already started
}
}
public function transactionStopped()
{
// code ...
$this->_transaction_called = '0';
}
public function stopTransaction()
{
if(!$this->_transaction_called === '1') {
$this->transactionStopped();
if($transaction_error==true){
mysql_query("ROLLBACK", $db);
}else{
mysql_query("COMMIT", $db);
}
}
}
}
//some random script:
$transaction_error=false;
startTransaction();
$query_1 = "UPDATE x1 SET X1='1' WHERE X1='x'";
$result_1 = mysql_query($query_1, $db);
if(!$result_1){$transaction_error=true;}
//query's, query's and more query's
stopTransaction();