Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[fast gelöst]sql Abfrage: Access denied

Eingetragen von tomx (771)
am 30.03.2011 - 16:36 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Folgender code erzeugt Access denied for user 'web1'@'localhost' (using password: No) wenn er als Block eingefügt wird. Aber warum klappt die Datenbankabfrage nicht wie immer drupalintern?

$sql = "SELECT * FROM `quiz_node_results_answers` WHERE `result_id` = $resultid  ORDER BY `quiz_node_results_answers`.`number` ASC ";

$db_result = db_query(db_rewrite_sql($sql));
$ergebnis = mysql_query($db_result)
    OR die("Error: $db_result <br>".mysql_error());

Access denied for user 'web1'@'localhost' (using password: No)

‹ Drupal7: Profilfelder und Anzeige Inhaltstyp mit Taxonomie verknüpfen. Wie wirds richtig gemacht? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Keine Ahnung, ob das was mit

Eingetragen von Exterior (2903)
am 30.03.2011 - 17:28 Uhr

Keine Ahnung, ob das was mit dem Fehler zu tun hat, aber warum verwendest du denn sowas: $ergebnis = mysql_query($db_result) ? Wieso verwendest du dafür nicht die Drupal-Funktionen, z. B. db_fetch_object?

Außerdem verwendest du den Database-Layer von Drupal falsch, Variablen wie $resultid haben im SQL-Code nichts zu suchen, da gehören Platzhalter hin, die anschließend ersetzt werden, so hier:

<?php
//Falsch!
$sql = "SELECT * FROM `quiz_node_results_answers` WHERE `result_id` = $resultid  ORDER BY `quiz_node_results_answers`.`number` ASC ";
$db_result = db_query(db_rewrite_sql($sql));
$ergebnis = mysql_query($db_result)
    OR die(
"Error: $db_result <br>".mysql_error());

//Richtig!
$sql = "SELECT * FROM `quiz_node_results_answers` WHERE `result_id` = %d  ORDER BY `quiz_node_results_answers`.`number` ASC ";
$db_result = db_query(db_rewrite_sql($sql), $resultid);
$ergebnis = db_fetch_object($db_result);
?>

Funktioniert denn der Code ansonsten richtig und wird nur im Block nicht korrekt ausgeführt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Exterior

Eingetragen von tomx (771)
am 31.03.2011 - 18:26 Uhr
Exterior schrieb

...

Funktioniert denn der Code ansonsten richtig und wird nur im Block nicht korrekt ausgeführt?

Ja, es gibt auch Abfrageergebnisse aus der db, nur die merkwürdige Fehlermeldung stört.

Danke für Deinen Verbesserungsvorschlag. Ändert leider nix an der Fehlermeldung.

  • Anmelden oder Registrieren um Kommentare zu schreiben

tomx schrieb Exterior

Eingetragen von SteffenR@drupal.org (2262)
am 31.03.2011 - 18:36 Uhr
tomx schrieb
Exterior schrieb

...

Funktioniert denn der Code ansonsten richtig und wird nur im Block nicht korrekt ausgeführt?

Ja, es gibt auch Abfrageergebnisse aus der db, nur die merkwürdige Fehlermeldung stört.

Danke für Deinen Verbesserungsvorschlag. Ändert leider nix an der Fehlermeldung.

Hast du dir testweise in dem Block schon mal andere Daten auslesen lassen ? bspw. ein "SELECT * FROM node".. ? Wäre ja interessant zu wissen, ob diese Query funktioniert..
Gibt es denn sonst Probleme in deiner Drupal Installation bzw. arbeitet diese fehlerfrei ?

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?php $ergebnis =

Eingetragen von Cyberschorsch (782)
am 31.03.2011 - 18:38 Uhr

<?php

$ergebnis
= mysql_query($db_result)

?>

Die Zeile macht doch keinen Sinn oder? Du schickst den query doch eine Zeile vorher...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Cyberschorsch schrieb<?php

Eingetragen von SteffenR@drupal.org (2262)
am 31.03.2011 - 18:54 Uhr
Cyberschorsch schrieb

$ergebnis = mysql_query($db_result)
Die Zeile macht doch keinen Sinn oder? Du schickst den query doch eine Zeile vorher...

Exterior hatte da doch schon den richtigen Code gepostet - der sollte so auch funktionieren:

<?php
$sql
= "SELECT * FROM `node`";
$db_result = db_query($sql);
$ergebnis = db_fetch_object($db_result);
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

SteffenR@drupal.org

Eingetragen von tomx (771)
am 31.03.2011 - 22:40 Uhr
SteffenR@drupal.org schrieb

Hast du dir testweise in dem Block schon mal andere Daten auslesen lassen ? bspw. ein "SELECT * FROM node".. ? Wäre ja interessant zu wissen, ob diese Query funktioniert..
Gibt es denn sonst Probleme in deiner Drupal Installation bzw. arbeitet diese fehlerfrei ?

SteffenR

Ja, sonst läuft drupal. Auch andere Abfragen geben ein "Access denied " aus.

Wie sieht denn eine saubere drupal sql Abfrage aus? Ich denke das macht Drupal's database abstraction layer?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Versuchst du, vorher noch mit

Eingetragen von Exterior (2903)
am 31.03.2011 - 22:40 Uhr

Versuchst du, vorher noch mit PHP-Funktionen eine Verbindung zur Datenbank aufzubauen? Weil das Passwort von Drupal ja eigentlich beim Verbindungsaufbau verwendet wird...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Exterior schrieb Versuchst

Eingetragen von tomx (771)
am 01.04.2011 - 12:23 Uhr
Exterior schrieb

Versuchst du, vorher noch mit PHP-Funktionen eine Verbindung zur Datenbank aufzubauen? Weil das Passwort von Drupal ja eigentlich beim Verbindungsaufbau verwendet wird...

Nein, sollte ja der layer machen...

Hat jemand noch eine Idee?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Fehler taucht bei jedem

Eingetragen von tomx (771)
am 01.04.2011 - 13:36 Uhr

Der Fehler taucht bei jedem Datenbankverbindungsversuch auf, egal auf welche Tabelle zugegriffen werden soll:
Nur dieser code produziert den Fehler Access denied for user web1

<?php
$sql
= "SELECT * FROM `url_alias` WHERE `pid` = 365";

$db_result = db_query(db_rewrite_sql($sql),$resultid);
$ergebnis = mysql_query($db_result);
?>

Was kann das sein?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also mal

Eingetragen von Cyberschorsch (782)
am 01.04.2011 - 13:38 Uhr

Also mal wirklich....

<?php
$ergebnis
= mysql_query($db_result);
?>

DAS ist falsch! Exterior hats schon richtig gepostet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Problem war eine Access

Eingetragen von tomx (771)
am 01.04.2011 - 14:08 Uhr

Das Problem war eine Access Fehler, welcher dadurch verursacht wurde, dass in der settings.php anstatt

<?php
$db_url
= 'mysql://xxx:xxx@localhost/xxx';
?>

<?php
$db_url
= 'mysqli://xxx:xxx@localhost/xxx
?>
stand.

Das i für mysqli war der Übertäter.

Aber warum klappt das eigentlich nicht auch mit mysqli? Kann mir das mal einer erklären?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 1 Woche 6 Stunden
  • Textboxen mit Tabelle
    vor 1 Woche 13 Stunden
  • Du sollst ja auch keine
    vor 1 Woche 13 Stunden
  • Theme
    vor 1 Woche 13 Stunden
  • Welches Theme benutzt du
    vor 1 Woche 19 Stunden
  • Mit Responsive Raster hatte
    vor 1 Woche 1 Tag
  • Hallo Alex,um das Häkchen
    vor 1 Woche 1 Tag
  • Modul view_unpublished
    vor 1 Woche 2 Tagen
  • Modul "override node options"
    vor 1 Woche 3 Tagen
  • Im Grunde ist dass ein
    vor 1 Woche 5 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 30 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association