1

Je termine actuellement une série de batch imports. Je n'ai plus qu'une étape à réaliser, le script semble marcher… mais pas les requêtes.
Je fais une suite alternée de SELECT et de INSERT INTO (copie de champs pour lesquels je dois bien récupérer les valeurs, mise à jour d'autres de ces champs). Mon script, qui affiche les données de debug SQL, me dit que toutes les requêtes sont OK, et semblent avoir été effectuées. Je dis semble, car un petit coup d'œil dans les tables et je constate que mes enregistrements créés n'y sont pas.
J'ai mes requêtes construites qui s'affichent aussi, et en les copiant-collant dans phpMyAdmin, elles fonctionnent.
Je savais déjà qu'il y avait des soucis quand on supprimait un ou plusieurs enregistrements après en avoir créé/inséré, mais là, je trouve quand-même bizarre. Outre regrouper mes requêtes par type, est-ce qu'il y a une autre astuce ?

Merci

[Edit] : Je viens de voir la syntaxe INSERT INTO … VALUES SELECT …, je vais probablement passer à ça, mais j'aimerais quand-même comprendre ce qui gêne avec ma séquence
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

2

C'est quoi, c'est du myIsam, ou de l'InnoDB ? T'es sûr que tu n'as pas un problème de clés étrangères ?
avatar

3

Tu as probablement oublié le COMMIT sur un base paramétrée pour ne pas le faire en automatique...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

4

C'est tout du MyISAM (je bosse sur une BDD pour Drupal 6).

./3 : COMMIT ? C'est quoi ?
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

5

COMMIT et ROLLBACK sont les deux commandes qui permettent respectivement de valider ou d'annuler une transaction de création, modification ou suppression en base de données.
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

6

Où puis-je voir si une de mes tables l'a en automatique ou non, s'il te plaît ?
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

7

C'est pas la configuration de la table mais celle de la base qui compte
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

8

Mais où puis-je voir quand-même ? gni
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

9

Vérifie si ta config contient un SET AUTOCOMMIT=TRUE
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

10

Si je dois aller regarder dans un fichier de configuration, je n'y ai pas accès : je travaille sur un serveur externe de développement. Il n'y aurait pas moyen de voir ça dans phpMyAdmin ?
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

11

j'ai pas ça sous la main mais si elle est définie tu dois pouvoir la voir sur l'état du serveur ou les variables du serveur... (mais tu pourras probablement pas la modifier)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

12

D'ac, je vais fouiller un peu
(Je trouve encore assez bizarre d'avoir pu lancer mes batches sans souci jusqu'à celui-ci…)

[Edit] COMMIT et ROLLBACK ne sont utiles qu'avec InnoDB, et je travaille avec MyISAM

[Edit 2] SELECT @@AUTOCOMMIT

[Edit 3] …qui vaut TRUE. Comme il a été dit, c'est pour toute la base.
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

13

Bon, c'est très bizarre ton problème, pour le coup... t'es sûr d'être sur la bonne base ? cheeky
avatar

14

t'as pas moyen de fournir le script php, la structure de la base et les logs sql ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

15

Je n'ai pas réussi à avoir l'accès aux logs autres qu'apache, parce que même si je travaille sur un serveur dédié, c'est l'hébergeur qui gère cheeky l'entreprise n'est pas assez importante pour engager un technicien serveur.

Le script : http://www.mirari.fr/NZ8M

Les tables utilisées : http://www.mirari.fr/Fhjl
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

16

tu disais avoir accès aux "données de debug SQL" en ./1 , y'a moyen de les voir ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

17

Je peux les voir, dans le sens où ma classe de connexion m'affiche les requêtes et leurs résultats ("Ressource ##" pour les SELECT, TRUE ou FALSE pour les INSERT, UPDATE et DELETE), ainsi que les erreurs quand il y en a (affichage de mysql_error) grin . Mais là, aucune n'est générée par mysql_query, apparemment.

[Edit] Je ne me trouvais vraiment pas clair dans la première version du post
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?