L'ajout d'un groupe dans Davical provoque une erreur
P粉460377540
P粉460377540 2023-09-04 22:16:39
0
1
578
<p>Bonjour, j'essaie d'installer Davical à côté de Nextcloud en utilisant Postgres, nginx et php8.1, cela fonctionne partiellement (l'ajout d'utilisateurs ou de ressources fonctionne bien) mais lorsque je veux créer des groupes, j'obtiens le message d'erreur suivant : </p> <p>Je peux créer des groupes dans le panneau d'administration, mais lorsque j'appelle la page des groupes (<code>https://calendar.example.de/admin.php?action=edit&t=principal&id=1019</ code> ) Je reçois ce message d'erreur sous « Adhésion au groupe » : </p> <pre class="brush:php;toolbar:false;">Exception [42601] SQLSTATE[42601] : Erreur de syntaxe : 7 FEHLER : Müll folgt auf numerische Konstante bei »1019O« ZEILE 1 : ...membre OÙ group_id = 1019) ET principal_id != 1019ORDER ... ^ À la ligne 95 de /usr/share/awl/inc/AwlDatabase.php ================= Trace de pile =================== /usr/share/davical/htdocs/admin.php[50] Navigateur->Render() /usr/share/awl/inc/classBrowser.php[852] edit_group_row() /usr/share/davical/inc/ui/principal-edit.php[591] Éditeur->Render() /usr/share/awl/inc/classEditor.php[669] preg_replace_callback() [0] Éditeur->ReplaceEditorPart() /usr/share/awl/inc/classEditor.php[597] EntryField::BuildOptionList() /usr/share/awl/inc/DataEntry.php[306] AwlQuery->Exec() /usr/share/awl/inc/AwlQuery.php[585] AwlQuery->Execute() /usr/share/awl/inc/AwlQuery.php[396] AwlDatabase->query() /usr/share/awl/inc/AwlDatabase.php[95] PDO->query()</pre> <p>Et je ne peux pas ajouter d’utilisateurs à des groupes.</p> <p>Davical错误日志中还存在以下错误消息</p> <pre class="brush:php;toolbar:false;">2023/04/26 11:38:59 [erreur] 330989#330989 : *17 FastCGI envoyé dans stderr : "Message PHP : PHP Early Exception : [42601] SQLSTATE[42601] : Erreur de syntaxe : 7 FEHLER : Müll folgt auf numerische Konstante bei »1019O« ZEILE 1 : ...membre OÙ group_id = 1019) ET principal_id != 1019ORDER ... ^ à /usr/share/awl/inc/AwlDatabase.php:95" lors de la lecture en amont, client : 192.168.100.2, serveur : calendrier.example.de, requête : "GET /admin.php?action=edit&t=principal&id=1019 HTTP/2.0", en amont : "fastcgi ://unix:/run/php/php8.1-fpm.sock:", hôte : "calendar.example.de"</pre> <p>postgresql 错误日志显示:</p> <pre class="brush:php;toolbar:false;">2023-04-26 11:59:29.228 CEST [333501] davical_app@davical ANWEISUNG : SELECT principal_id, coalesce(displayname,fullname,username) FROM dav_principal WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = 1019) AND principal_id != 1019ORDER BY 2</pre> <p>使用 ubuntu 22.04、php8.1、postgresql 15、Davical 1.1.11-1、libawl-php 0.63-1 全部</p>

gt; php8.1.-fpm.sock est utilisé pour créer un fichier php8.1.-fpm.sock. Comment postgresql fonctionne-t-il ? 有人可以进一步帮助我吗?</p> <p>谢谢!</p>

P粉460377540
P粉460377540

répondre à tous(1)
P粉098417223

Ce code est faux :

$sql = 'SELECT principal_id, coalesce(displayname,fullname,username) FROM dav_principal ';
  $sql .= 'WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = '.$id.') ';
  $sql .= 'AND principal_id != '.$id;
  $sql .= 'ORDER BY 2';

ORDER BY reste bloqué après $id, ce qui vous fait voir le message d'erreur.

Correction : il y a des espaces supplémentaires avant ORDER BY :

$sql .= ' ORDER BY 2';

Le fichier peut être trouvé ici, principal-edit.php

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!