Ben test amaçlı ofisimde bir localhost XAMPP sunucusu çalıştırmak. Ben seyahat ve benim laptop üzerinde yapılan bazı çalışmalar yüzden benim laptop üzerinde XAMPP yeni bir sürümü yüklü almaya karar verdik, benim dosyaları üzerinde kopyalanmış ama nedense, ben don benim laptop sürümü hataları non-stop olsun am t benim masaüstünde bir tek olsun.
Büyük olanlardan biri benim sitelerden biri için sayfa basit bir günlük olduğunu.
Ben kodu denemek ve çalıştırmak her zaman, ben aşağıdaki hatayı alıyorum:
Call to a member function rollback() on a non-object
Benim kod:
<?php
session_start();
if( $_SERVER['SERVER_PORT'] == 80) {
header('Location:https://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]);
die();
}
try
{
$db = new PDO('mysql:host=localhost;dbname=DB', 'USER', 'PW');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$sql = $db->prepare("SELECT user, pw FROM table WHERE user=? AND pw=?");
$sql->execute(array($_POST['user'], $_POST['pw']));
$foundrows = $db->query("SELECT FOUND_ROWS()")->fetchColumn();
$rows = $sql->fetchAll();
foreach($rows as $row) {
$username = $row[0];
$pw = $row[1];
}
$db->commit();
$db->NULL;
}
catch (PDOException $e)
{
$db->rollback();
echo $e->getMessage();
exit;
}
if ($foundrows == 1) {
(store stuff and exit to Page A)
} else {
(create error and return to login page)
}
?>
Daha önce söylediğim gibi, bu benim masaüstünde sorun olmadan çalışan (ve birçok canlı siteler i başka bir yerde kullanabilirsiniz). H ne oluyor?
Not: Ben benim PHP dosyanın farklı konfigürasyonlarda olabilir düşündüm ama benim masaüstü ve hala hiçbir şans gelen php.ini dosyası üzerinden kopyalanır ...