begin process at 2012 05 28 07:44:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

l'accés concurentiel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

l'accés concurentiel

samedi 5 mai 2007 à 12:35:13 | l'accés concurentiel

machmacha

Bonjour,
j'ai pensé a faire un traitement sur l'accées a ma base de données, càd lorsque quelqu'un veux s'inscrir sur mon site web et en meme moment une autre personne veux faire la meme opération, alors jai pensé a faire le code suivant:

$sql = "INSERT  INTO connexion(Id,champ1,champ2)
  VALUES ( NULL, '$champ1','$champ2') " ;

 mysql_query("LOCK TABLES connexion WRITE");
mysql_query("SET AUTOCOMMIT = 0");
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//......traitement
mysql_query("COMMIT");
mysql_query("UNLOCK TABLES");
mais lorsque j'exécute je reçois l'erreur suivante:

Table 'proc' was not locked with LOCK TABLES
est ce que vous avez une idée sur ce genre de problème
Merci d'avance.
samedi 5 mai 2007 à 12:55:27 | Re : l'accés concurentiel

neigedhiver

Salut,

Est-ce tu as les permissions pour utiliser LOCK et UNLOCK ? C'est pas forcément le cas selon ton hébergeur.
samedi 5 mai 2007 à 12:59:49 | Re : l'accés concurentiel

machmacha

qu'est que tu veux dire par les permissions, explique moi svp??
samedi 5 mai 2007 à 13:10:49 | Re : l'accés concurentiel

neigedhiver

Réponse acceptée !
Ben...

MySQL permet de gérer les permissions de chaque utilisateur.
Les utilisateurs MySQL créés pour les hébergements ont toujours les permissions suivantes sur LEUR BASE :
Pour les données :
- SELECT
- INSERT
- UPDATE
- DELETE
- FILE
Pour la structure des tables :
- CREATE
- ALTER
- INDEX
- DROP
- CREATE TEMPORARY TABLES
- CREATE VIEW
- SHOW VIEW
- CREATE ROUTINE
- ALTER ROUTINE
- EXECUTE
Pour l'administration, rien du tout.

OR, LOCK et UNLOCK requierent un privilège d'administration pour être exécutées.

Juste comme ça... Pourquoi souhaites tu verrouiller une table ? Les deux actions ont très peu de chances de se produire exactement en même temps et PHP et MySQL savent très bien gérer ça et l'une des deux se produira forcément avant l'autre.
Par ailleurs, si tu verrouilles une table et que ton script met un peu de temps à s'exécuter pour une raison X ou Y, et qu'une autre isntance du script essaye d'accéder à la table, alors ça bloquera, alors que MySQL se serait très bien dépatouillé tout seul.
Verrouiller une table est utile si tu souhaites faire des opérations de maintenance dessus. C'est généralement utilisé pour des applications autres que PHP.
samedi 5 mai 2007 à 13:36:07 | Re : l'accés concurentiel

machmacha

ok merci pour vos réponses, je penserai a ce que vous m'avez dis .
bon weekend


Cette discussion est classée dans : mysql, query, tables, accés, concurentiel


Répondre à ce message

Sujets en rapport avec ce message

multi recherche mysql ??? [ par stephane ] saluttout simplement je voudrai savoir comment effectuer une requete my sql dans toutes les tables (je pense que c'est faisable mais je ne sais pas co Convertir Access en MySQL - Help ! [ par iubito ] Slt!G une base Access et pour m'entraîner sur MySQL je veux foutre le contenu de mes tables dans MySQL.J'arrive à créer des tables, entrer des données echo $idcateg["macolonne"]; [ par fil ] mysql_select_db($database, $perles);$query_idcateg = sprintf("SELECT $mescolonnes FROM $matable WHERE $matable = '%s'", $colname_idcateg);$idcateg = m Erreur dans un script [ par philagui ] Bonjour,est-ce que quelqu'un pourrait me dire où est l'erreur dans ce script:$sql_query="SELECT Titre FROM Tableaux WHERE LIMIT 0,2";//Début de la que Retour à la ligne [ par philagui ] Bonjour,je fais afficher tous les resultats d'un champ d'une DB MySQL par l'intermédiaire du script suivant:$sql="SELECT Titre FROM Tableaux WHERE 1"; Pb MySQL Query [ par kbumbazz ] Salut j'ai un petit pb :MySQL Query Error: INSERT INTO xoops_toto VALUES('','1','1','1','1','1')Error number:0Error message: voila la strucute de ma t Sélectionner les lignes différentes entre deux tables [ par Mikemadest ] Bonjour,J'ai cherché sans trouver de réponse à mon problème,ce qui m'amène à vous poser cette question !D'avance je m'excuse si j'ai raté la solution Question MySQL [ par mightteam ] j'ai fait mon moteur de recherche mais je voudrais limité le nombre de resultats a afficher par page quel commande dois-je utiliser?ma requète est la Connection avec MS Query (Excel) via ODBC MySQL PC Distant [ par javigle ] Connection avec MS Query (Excel) via ODBC MySQL PC DistantJ'ai un PC (A) ou j'ai la BD et EasyPHP (PHP, Apache, MySQL) enclenché, etsur l'autre PC (B) problème de requête [ par brice57 ] Bonjour, j'ai un problème avec la requête suivante que je ne parviens pas à exécuter sur une base Mysql:$query = "DELETE FROM Defi WHERE Passteam=".$p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,260 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales