Bonjour,
J'ai 3 fonctions ou procédures stockées dans une BDD. Il m'est impossible de les modifier.
Il répond :
La requête « CREATE DEFINER=`sauvegarr`@`%` FUNCTION `ajout_formulaire_arbre`(`p_nomprenom` VARCHAR(255), `p_email` VARCHAR(255), `p_pseudo` VARCHAR(255), `p_longitude` VARCHAR(255), `p_latitude` VARCHAR(255), `p_adresse` VARCHAR(255), `p_espace` VARCHAR(255), `p_observation` VARCHAR(255), `p_nom_arbre` VARCHAR(255)) RETURNS INT(11) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN DECLARE p_id_record INT » a échoué
MySQL a répondu : #1064 - Erreur de syntaxe près de '' à la ligne 3
En effet, il n'affiche qu'une partie de la définition dans le cadre adéquat :
BEGIN
DECLARE
p_id_record INT
Au lieu de
BEGIN
DECLARE
p_id_record INT ; DECLARE p_date TIMESTAMP ;
INSERT INTO Formulaire_Record(nomprenom, email, TYPE)
VALUES(p_nomprenom, p_email, 'Arbre') ;
SELECT
MAX(id)
INTO p_id_record
FROM
Formulaire_Record ;
SELECT
CURRENT_TIMESTAMP()
INTO p_date ;
INSERT INTO Formulaire_Arbre(
id_record,
pseudo,
longitude,
latitude,
adresse,
date_ajout,
espace,
observation,
nom_arbre
)
VALUES(
p_id_record,
p_pseudo,
p_longitude,
p_latitude,
p_adresse,
p_date,
p_espace,
p_observation,
p_nom_arbre
) ; RETURN p_id_record ;
END
Alors que la même est bien affichée sur mon PC sous Linux/Firefox.
Je précise que ces fonctions marchent sans erreurs chez OVH comme chez moi. Mais je suis incapable de les modifier sur PHPmyadmin d'OVHcloud alors que je le peux chez moi.
Comment puis-je faire pour contourner le problème PHPmyadmin ?
Si tu as une offre avec accès SSH, as tu essayé en console directement ?
Merci de ta réponse. Malheureusement non , c'est du mutualisé sans SSH ce qui est bien dommage. Je n'ose pas faire un copier-coller du bon code dans pour ne pas casser le système en production sans pouvoir le réparer simplement.
Je vais me résoudre à tout convertir en code PHP. Gros boulot de maintenance en perspective déjà prévu mais pour plus tard :((.
Pas d'autres idées, je n'ai pas de PHPMyAdmin OVH… Connaît pas trop.
Je pense qu'il est un peu modifiée…
Je n'ose pas faire un copier-coller du bon code dans pour ne pas casser le système en production sans pouvoir le réparer simplement.
Vous pouvez installer phpmyadmin dans votre hébergement, faites un sous-domaine de votre multisite, et installez-le dedans.
Ou bien `adminer.php` directement dans votre site ?
@Fritz2cat Excellente idée à laquelle je n'avais pas pensé du tout !
Je ne connaissais pas adminer.
Merci beaucoup, je vais essayer ça.
bien vu !
Problème réglé. Comme j'étais pressé, j'ai utilisé adminer.php.
Plus qu'à faire un ticket pour le bogue phpmyadmin.
Merci encore. Sujet clos pour moi.