[PHP] pb de syntaxe suivant versions
rasmulti
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
oberion Messages postés 1253 Date d'inscription Statut Membre Dernière intervention -
oberion Messages postés 1253 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je débute avec PHP et Sql.
j'ai un formulaire de saisie de données, traité ensuite par PHP qui envoie des données dans une table MySQL.
- avec le serveur OVH : j'y suis arrivé
- avec mon serveur local : pas moyen d'insérer des données.
C'est sûrement une question de syntaxe différente.
J'y ai passé la journée, alors je sèche.
Voici le code du fichier PHP, qui fonctionne sur OVH :
Bien sûr, en local j'utilise le srv localhost, la base et la table installées.
<?
mysql_connect("srv","user","pwd")or die('Erreur de connexion a la base');
mysql_selectdb("base") or die ('erreur de selection de base');
$comment=stripslashes($comment);
$a ="INSERT INTO disques (albumtitre, albumartiste, albumannee, albumsupport, albumtype, albumediteur, comment, date) VALUES
('$albumtitre','$albumartiste','$albumannee','$albumsupport','$albumtype','$albumediteur','$comment', now())";
mysql_query($a) or die ('erreur insertion des données');
?>
J'ai essayé des " et/ou des ' et j'ai des msgs d'erreur undefined variable: dans mon fichier.php.
Mes configs :
1/ en local sous Win SRV2003 : MySQL - 4.1.9-max et PhpMyAdmin - 2.8.2.4 (Version du client MySQL: 3.23.49)
2/ chez OVH : MySQL - 4.0.25-standard-log
et
phpMyAdmin - OVH (Version du client MySQL : 5.0.18)
Merci d'aider un désespéré.
je débute avec PHP et Sql.
j'ai un formulaire de saisie de données, traité ensuite par PHP qui envoie des données dans une table MySQL.
- avec le serveur OVH : j'y suis arrivé
- avec mon serveur local : pas moyen d'insérer des données.
C'est sûrement une question de syntaxe différente.
J'y ai passé la journée, alors je sèche.
Voici le code du fichier PHP, qui fonctionne sur OVH :
Bien sûr, en local j'utilise le srv localhost, la base et la table installées.
<?
mysql_connect("srv","user","pwd")or die('Erreur de connexion a la base');
mysql_selectdb("base") or die ('erreur de selection de base');
$comment=stripslashes($comment);
$a ="INSERT INTO disques (albumtitre, albumartiste, albumannee, albumsupport, albumtype, albumediteur, comment, date) VALUES
('$albumtitre','$albumartiste','$albumannee','$albumsupport','$albumtype','$albumediteur','$comment', now())";
mysql_query($a) or die ('erreur insertion des données');
?>
J'ai essayé des " et/ou des ' et j'ai des msgs d'erreur undefined variable: dans mon fichier.php.
Mes configs :
1/ en local sous Win SRV2003 : MySQL - 4.1.9-max et PhpMyAdmin - 2.8.2.4 (Version du client MySQL: 3.23.49)
2/ chez OVH : MySQL - 4.0.25-standard-log
et
phpMyAdmin - OVH (Version du client MySQL : 5.0.18)
Merci d'aider un désespéré.
A voir également:
- [PHP] pb de syntaxe suivant versions
- Suivi de modification word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Version gratuite de word - Guide
- Expert php pinterest - Télécharger - Langages
- Connaitre sa version de windows - Guide
9 réponses
Salut,
C'est avant l'insertion me semble-t-il ?
J'ai encore fait des essais. Voici les derniers messages :
Notice: Undefined variable: albumtitre in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumartiste in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumannee in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumsupport in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumtype in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumediteur in e:\progs\easyphp1-8\www\albums.php on line 6
erreur insertion des données
Pouquoi ces variables sont-elles non définies ?
J'ai tout vérifié plusieurs fois.
Help, où je vais bientôt aller élever des escargots. Car ça doit être moins fatigant, vu qu'ils ne courent par vite.
C'est avant l'insertion me semble-t-il ?
J'ai encore fait des essais. Voici les derniers messages :
Notice: Undefined variable: albumtitre in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumartiste in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumannee in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumsupport in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumtype in e:\progs\easyphp1-8\www\albums.php on line 6
Notice: Undefined variable: albumediteur in e:\progs\easyphp1-8\www\albums.php on line 6
erreur insertion des données
Pouquoi ces variables sont-elles non définies ?
J'ai tout vérifié plusieurs fois.
Help, où je vais bientôt aller élever des escargots. Car ça doit être moins fatigant, vu qu'ils ne courent par vite.
Re,
Parce qu'il faut récuperer tes variables proprement:
$albumtitre = $_POST['albumtitre'];
$albumartiste = $_POST[albumartiste'];
etc...
Parce qu'il faut récuperer tes variables proprement:
$albumtitre = $_POST['albumtitre'];
$albumartiste = $_POST[albumartiste'];
etc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Slaut,
j'ai essayé (sans oublié d'apostrophes) : il ne se passe rien du tout, même pas de message !
Voici mon fichier corrigé :
<?php
mysql_connect("localhost","music","") or die ('Erreur de connexion a la base');
mysql_selectdb("music") or die ('erreur de selection de base');
$comment = stripslashes('$comment');
$albumtitre = $_POST['albumtitre'];
$albumartiste = $_POST['albumartiste'];
$albumannee = $_POST['albumannee'];
$albumsupport = $_POST['albumsupport'];
$albumtype = $_POST['albumtype'];
$albumediteur = $_POST['albumediteur'];
$comment = $_POST['comment'];
$a = "INSERT INTO disques (albumtitre, albumartiste, albumannee, albumsupport, albumtype, albumediteur, comment, date) VALUES
($albumtitre, $albumartiste, $albumannee, $albumsupport, $albumtype, $albumediteur, $comment, now())";
mysql_query($a) or die ('erreur insertion des données');
?>
j'ai essayé (sans oublié d'apostrophes) : il ne se passe rien du tout, même pas de message !
Voici mon fichier corrigé :
<?php
mysql_connect("localhost","music","") or die ('Erreur de connexion a la base');
mysql_selectdb("music") or die ('erreur de selection de base');
$comment = stripslashes('$comment');
$albumtitre = $_POST['albumtitre'];
$albumartiste = $_POST['albumartiste'];
$albumannee = $_POST['albumannee'];
$albumsupport = $_POST['albumsupport'];
$albumtype = $_POST['albumtype'];
$albumediteur = $_POST['albumediteur'];
$comment = $_POST['comment'];
$a = "INSERT INTO disques (albumtitre, albumartiste, albumannee, albumsupport, albumtype, albumediteur, comment, date) VALUES
($albumtitre, $albumartiste, $albumannee, $albumsupport, $albumtype, $albumediteur, $comment, now())";
mysql_query($a) or die ('erreur insertion des données');
?>
...et générer ta requete proprement:
$a = "INSERT INTO disques (albumtitre, albumartiste, albumannee, albumsupport, albumtype, albumediteur, comment, date) VALUES
('".$albumtitre."', '".$albumartiste."', '".$albumannee."', '".$albumsupport."', '".$albumtype."', '".$albumediteur."', '".$comment."', now())";
Fais ensuite un echo de $a, ce qui va afficher la requete, puis execute la dans phpMyAdmin. Ce sera plus facile à debugger.
$a = "INSERT INTO disques (albumtitre, albumartiste, albumannee, albumsupport, albumtype, albumediteur, comment, date) VALUES
('".$albumtitre."', '".$albumartiste."', '".$albumannee."', '".$albumsupport."', '".$albumtype."', '".$albumediteur."', '".$comment."', now())";
Fais ensuite un echo de $a, ce qui va afficher la requete, puis execute la dans phpMyAdmin. Ce sera plus facile à debugger.
Salut,
Rien à faire.
J'ai trouvé un info peut-être intéressante dans le répertoire date de mysql; un fichier de log du srv :
061005 18:29:58 InnoDB: Started; log sequence number 0 43634
061005 18:29:58 [Warning] mysql.user table is not updated to new password format; Disabling new password usage until mysql_fix_privilege_tables is run
061005 18:29:58 [Warning] Can't open and lock time zone table: La table 'mysql.time_zone_leap_second' n'existe pas trying to live without them
E:\progs\EASYPH~1\MySql\bin\mysqld.exe: Prêt pour des connections Source distribution
(j'ai copié les lignes d'aujourd'hui)
InnoDB c'est quoi ?
Re-re-re-merci d'un désespéré.
Rien à faire.
J'ai trouvé un info peut-être intéressante dans le répertoire date de mysql; un fichier de log du srv :
061005 18:29:58 InnoDB: Started; log sequence number 0 43634
061005 18:29:58 [Warning] mysql.user table is not updated to new password format; Disabling new password usage until mysql_fix_privilege_tables is run
061005 18:29:58 [Warning] Can't open and lock time zone table: La table 'mysql.time_zone_leap_second' n'existe pas trying to live without them
E:\progs\EASYPH~1\MySql\bin\mysqld.exe: Prêt pour des connections Source distribution
(j'ai copié les lignes d'aujourd'hui)
InnoDB c'est quoi ?
Re-re-re-merci d'un désespéré.
register_globals est à off chez OVH.