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

  • canadian pharmacy lotrisone cream used for cellulitis
  • 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
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 7 Wochen 2 Tagen
  • Hey danke
    vor 7 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 7 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 8 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 8 Wochen 5 Tagen
  • In der entsprechenden View
    vor 8 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 8 Wochen 5 Tagen
  • gelöst
    vor 11 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250234
Registrierte User: 20461

Neue User:

  • WugPiola
  • marouane.blel
  • capilclinic

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 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