Perl-mysql -> pb avec un script

Le forum de l'Annuaire Francophone des Scripts CGI: CGI : Cours CGI: Perl-mysql -> pb avec un script

Lyriel

jeudi 14 mars 2002 - 12h47
bonjour,
j'essaie d'apprendre a couplé perl avec mysql,
premiere etape créé une table, voici ce que j'ai fait, et ca marche pas , pkoi ?
(ds le fichier log d'erreur il me dit erreur de syntaxe mysql...) merci:

#!/usr/bin/perl
require "config.pl";
use DBI;
$dbh = DBI->connect("DBI:mysql:$database:$hostname", $mysqluser, $mysqlpass);
$sel = "CREATE TABLE $table (nom VARCHAR(20), desc VARCHAR(255), url VARCHAR(150),)";
$sth = $dbh->prepare($sel);
$rv = $sth->execute;
print "content-type: text/html\n\n";
print <<Affiche_page;
<html>
<head>
<title>nada</title>
</head>
<body>
<br>Table $table créée !<br>
</body>
</html>
Affiche_page
exit;


ds le fichier config.pl il y a toutes les variables qui sont bonnes...
comprend pas: message du fichier log:
"
DBD::mysql::st execute failed: You have an error in your SQL syntax near 'desc VARCHAR(255), url VARCHAR(150),)' at line 1 at myperl.cgi line 20.
"

Frédéric de Laminne (Frédéric)

jeudi 14 mars 2002 - 23h17
Bonjour,

ca ne marche pas probablement par ce qu'il y a une erreur dans la requete SQL; c'est en tout cas ce que le message d'erreur indique non ?
Il faut quoter le nom des champs, votre requete sql devient donc :
$sel = "CREATE TABLE `$table` (`nom` varchar(20), `desc` varchar(250), `url` varchar(150))";

Lyriel

vendredi 15 mars 2002 - 15h58
slut, non apparemment c pas ca, en fait j'ai résolu le problème...
Il semblerais que le nom de colonne 'desc' pose un problème, je l'ai donc renommé 'descr' et ca marche.
merci.

Frédéric de Laminne (Frédéric)

vendredi 22 mars 2002 - 09h18
ok, mais chez moi ca fonctionne tres bien avec desc comme nom de colonne ;-)

nora

samedi 15 juin 2002 - 14h34
bonjour,
je suis une debutante en perl.en fait ,mon broblème est que je ne sais pas quoi faire pour pouvoir utiliser perl et Mysql pour la manipulation de base de données.je voudrais que vous m'orientez un peu:j'enttend parler de l'interface DBI et je ne sais pas de quoi s'agit-il?
vous pouvez m'orienter vers un site qui va me permettre de retrouver quelques programmes répondant à ce que je cherche.
merci d'avance.

Frédéric de Laminne (Frédéric)

dimanche 23 juin 2002 - 18h06
Bonjour,

avez vous regardé le cours 6 (http://cours.scripts-fr.com/cours/cours6.shtml) il traite justement de mysql et de l'accès a une base de données.
BDI est une interface permettant d'accéder à une multitude de base de données.


Ajouter un message


Ceci est une zone publique. Si vous n'avez pas de compte, entrez votre nom dans le champ "Identificateur" et laissez le mot de passe vide. Votre adresse E-mail est facultative.
Identificateur :  
Mot de passe :
E-mail :
Poster "anonymement"