[PHP] Semaphore, et transactions sur MySQL

Semaphore, et transactions sur MySQL [PHP] - Programmation

Marsh Posté le 14-01-2001 à 15:36:32    

Alors, j'ai deux question sur PHP et mySql, mais elle sont a peu près liées.
 
PHP nous permet d'utiliser des fonctions de semaphores en cas de section critiques, mais en voulant les utiliser, j'obtient un :
Fatal error: Call to unsupported or undefined function sem_get() in ../generateUniqId.php3 on line 3.
 
La ligne en cause est :ss
$semaphore = sem_get (42) ;
 
Keskispasse ?
 
Enfin, seconde question, a quel niveau se situent les transactions au niveau de mySql appelees depuis PHP. J'ai trois INSERT consecutifs et si un SELECT a lieu entre les trois, le resultat de cette requete sera invalide. Si la transaction se situe au niveau de la connection, c'est pas un problème. En revanche, au niveau de la msql_query, je suis mal. A quel moment cela ce situe-t'il donc ?
 
Si je suis mal, je vais devoir me taper des semaphores au niveau de mes ajouts dans la base, ou il y a une autre méthode ?
 
J'utilise un PHP 3.0.8, avec un mySql 3.22.25, mais le but est que ça tourne chez free ou skreel. :D

 

Reply

Marsh Posté le 14-01-2001 à 15:36:32   

Reply

Marsh Posté le 16-01-2001 à 23:38:30    

t'as ligne

Citation :

$semaphore = sem_get (42)


aucune idée
 
par contre avec une fonction qui se nome load data local file
tu peut faire un fichier qui inserera des enregistrements 1 table (part contre 1 fichier/ table )!!
 
sinon tu peux faire un fic ki prend l'extension .sql dans le quel tu peux faire toutes les INSERT et select que tu veux!!
 
utilise PHPMyAdmin c super simple!! :)

 

Reply

Marsh Posté le 16-01-2001 à 23:41:43    

bah... je sais pas... utilise un vrai SGDB (SQL Server ou Oracle) et sert toi des triggers ! :D

 

Reply

Marsh Posté le 17-01-2001 à 10:18:21    

Bon, les semaphores, j'ai trouvé, le support était pas compilé sur ma machine :(
Ce soir, c'est soirée compile :)
 
Le load data local file m'interpelle bien, j'ai envie de pouvoir extraire toutes mes bases pour aller les réinjecter facilement ailleurs en cas de besoin.
 
phpMyAdmin, je m'en tape, j'ai une page qui me construit toutes mes tables correctement, m'affiche ma structure, et j'ai un champs qui me permet de taper une commande SQL, donc a pas besoin .
 
Pour magic :
Attendu que moi, j'ai pas l'ADSL, il faut que glouk! tourne chez les hebergeurs pas cher. Et la bas, c'est généralement mySql ou mySql.
De plus, mySql supporte les transactions, c'est juste qu'elle ne sont pas mappées dans PHP (la V3 du moins).Donc je protège avec des semaphores, et en cas d'erreur en 8eme insert, je fait le roillback à la mano avec des DELETE :).
 
Remarque idiote : et en plus, oracle, ça me fait trop penser au boulot. Je code ça pour occuper mes longues soirées d'hiver :D

Reply

Marsh Posté le 24-01-2001 à 01:25:23    

Citation :

phpMyAdmin, je m'en tape, j'ai une page qui me construit toutes mes tables correctement, m'affiche ma structure, et j'ai un champs qui me permet de taper une commande SQL, donc a pas besoin .


 
PHPMyADMIN fait ca aussi !! ;)

 

Reply

Marsh Posté le 24-01-2001 à 15:17:00    

pour pouvoir utiliser sem_get il faut compiler php avec le module semaphores (--enable-sysvsem)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed