phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Call to a member function beginTransaction() on a non-object

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
valerioado
Utente
Utente
Messaggi: 1
Iscritto il: 06/05/2015, 9:09
Sesso: Maschio
Server: UNIX/Linux

Call to a member function beginTransaction() on a non-object

Messaggio da valerioado » 06/05/2015, 9:14

Salve a tutti!

Premetto che so abbastanza poco di php ed mysql, giusto giusto le basi.

Detto questo vi illustro il mio problema...
Io ho un database online (con più tabelle) in cui io voglio inserire dei record, questi record dovranno essere inseriti in più tabelle.
Ho provato con il seguente codice:

Codice: Seleziona tutto

try {
    // First of all, let's begin a transaction
    $db->beginTransaction();
	
	// A set of queries; if one fails, an exception should be thrown
    $db->query("'INSERT INTO tb_Items(Name,Address,Phone,Website,Mail,Facebook,Latitude,Longitude)
VALUES ('ProvaNome','ProvaIndirizzo','ProvaNumero','ProvaSito','ProvaMail','ProvaFacebook','ProvaLatitude','ProvaLongitude');'
SET @ItemID = LAST_INSERT_ID();");
    
	$db->query("INSERT INTO tb_ItemResources(ResourcePath,ResourceName,ResourceType,ResourceVersion) VALUES('ResourcePath1','ResourceName1','jpg',1);
SET @ImageID = LAST_INSERT_ID();
INSERT INTO tb_ResourcesForItem(Item_ID,ItemResource_ID) VALUES (@ItemID, @ImageID);");
    
	$db->query("INSERT INTO tb_ItemResources(ResourcePath,ResourceName,ResourceType,ResourceVersion) VALUES('ResourcePath2','ResourceName2','jpg',1);
SET @ImageID = LAST_INSERT_ID();
INSERT INTO tb_ResourcesForItem(Item_ID,ItemResource_ID) VALUES (@ItemID, @ImageID);");

$db->query("INSERT INTO tb_ItemDescriptions(Language_ID,Item_ID,ItemName,ItemDescription)VALUES(1, @ItemID,'ProvaNome','descrizioneITA');");
$db->query("INSERT INTO tb_ItemDescriptions(Language_ID,Item_ID,ItemName,ItemDescription)VALUES(2, @ItemID,'ProvaName','descrizioneENG');");
$db->query("INSERT INTO tb_ItemCategory(Item_ID,Category_ID,ItemOrder)VALUES(@ItemID,1,0);");
$db->query("INSERT INTO tb_ItemCategory(Item_ID,Category_ID,ItemOrder)VALUES(@ItemID,2,1);");

    // If we arrive here, it means that no exception was thrown
    // i.e. no query has failed, and we can commit the transaction
    $db->commit();
} catch (Exception $e) {
    // An exception has been thrown
    // We must rollback the transaction
    $db->rollback();
	
	echo "failed";
}
ma alla riga 19

Codice: Seleziona tutto

$db->beginTransaction();
mi da questo errore :

Fatal error: Call to a member function beginTransaction() on a non-object in /web/htdocs/www.thebubblecompany.com/home/wordpress/comuni/test.php on line 19

Ho provato ad informarmi per conto mio ma tutti usano il PDO che io non conosco e che , se posso, eviterei di usare.

Avete suggerimenti?

Grazie mille a tutti!

Avatar utente
Anto
Utente
Utente
Messaggi: 1106
Iscritto il: 04/02/2013, 21:53
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
Contatta:

Re: Call to a member function beginTransaction() on a non-ob

Messaggio da Anto » 15/05/2015, 15:23

Questo potrebbe esserti utile:

Codice: Seleziona tutto

// Creare una nuova istanza PDO 
try{
    $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
}
// Cattura eventuali errori
catch(PDOException $e){
    $this->error = $e->getMessage();
}

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 90 ospiti