php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-11-2011, 10:52
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard The user specified as a definer

Hallo,

ich habe folgendes Problem. Ich schreibe gerade an einem kleinen Script, was mir eine Datenbanksicherung mittels PHP erledigt.

Das funktioniert auch soweit, aber bei bestimmten Datenbanken kommt folgender Fehler:

The user specified as a definer ('xxxxxx'@'%') does not exist

Ich arbeite hier auf einer lokalen Entwicklungsumgebung. Der genannte User existiert online in der Datenbank, aber eben nicht lokal.

Ist es überhaupt möglich die Tabelle dann zu sichern? Bzw. gibts da einen bestimmten Trick, das ganze zu umgehen.

So wie ich mich belesen habe, ist wohl die Tabelle (mittels information_schema -> views) an diesen User geknüpft!?

Bedeutet das, das kein anderer User (auch nicht root) auf diese Tabelle zugreifen kann?

Vielen Dank für eure Hilfe.

Beste Grüße
Michael
Mit Zitat antworten
  #2 (permalink)  
Alt 17-11-2011, 11:52
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

wenn es um Views, Triggers oder Stored Procedures geht, bist du gut beraten, die DEFINER-Klausel einfach wegzulassen. Ansonsten lass uns bitte wissen, was genau du gemacht hast. Ich vermute zwar, es geht um ein SHOW CREATE Statement, aber du kannst es ja noch etwas genauer beleuchten.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 17-11-2011, 12:24
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich leuchte:

Also, das letzte Statement vor dem Fehler ist eine ganz normale "SELECT" Anweisung:

Code:
select
	`sXOP_Id`,
	`sXOP_XtcOrdersId`,
	`products_name`,
	`products_price`,
	`products_discount_made`,
	`final_price`,
	`products_tax`,
	`products_quantity`,
	`sXCPC_Id`,
	`sXCPC_XtcProductsOptionsValueId`,
	`sXCPC_ProductsId`,
	`sXCPC_Size`,
	`sXCPC_Color`,
	`sXCPC_Form`,
	`sXCPC_Quantity`
from vXtcCOrderPos;

-- 1449 - The user specified as a definer ('xxxxxx'@'%') does not exist
Genau das macht es ja so schwer für mich zu verstehen. Ich frage lediglich die Tabelle ab und möchte das Ergebnis verarbeiten; leider bekomme ich halt nur Mecker.

Danke für eure Hilfe.

Grüße
Michael

Geändert von AmicaNoctis (17-11-2011 um 12:34 Uhr) Grund: Code umgebrochen
Mit Zitat antworten
  #4 (permalink)  
Alt 17-11-2011, 12:33
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Bitte künftig Code umbrechen, sonst findet man die Buttons nicht mehr und muss ewig weit nach rechts scrollen!

Was sagt denn PHPMyAdmin, wenn du dieses Statement ausführst? Ich kann mir nicht vorstellen, dass dieser Fehler bei einem SELECT-Statement auftreten soll. Bist du innerhalb einer Transaktion? Werden davor oder danach noch andere Statements ausgeführt?

Edit: Ist vXtcCOrderPos eine Base Table oder ein View?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (17-11-2011 um 12:41 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 17-11-2011, 12:49
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

sorry, ich dachte der Code wird automatisch umgebrochen wenn man den Code-Block nutzt.

Also, PHPmyAdmin sagt das gleiche, das der User nicht existiert.

Und laut PHPmyAdmin ist es ein VIEW, aber auch das müsste ich doch per SELECT abfragen können!?

Grüße
Michael
Mit Zitat antworten
  #6 (permalink)  
Alt 17-11-2011, 12:53
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Nein, der Code wird nicht automatisch umgebrochen.

Okay, dann gilt meine erste Antwort. Du hast das View erzeugt und dabei die originale DEFINER-Klausel drin gelassen. Also ist das View auf den originalen Benutzer festgenagelt und kann nicht abgefragt werden, solange dieser nicht existiert.

Lösung (nochmal): Entferne die DEFINER-Klauseln!
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 17-11-2011, 14:31
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, aber da ich in MySQL nur Grundkenntnisse habe, noch eine Frage zur Lösung.

Gehe ich richtig in der Annahme, dass die Definier Klauseln beim anlegen der Tabelle gemeint sind!?

Grüße
Michael
Mit Zitat antworten
  #8 (permalink)  
Alt 17-11-2011, 14:49
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Genau, aber beim Anlegen des Views oder eventueller Trigger. Bei normalen Tabellen gibt es so etwas nicht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #9 (permalink)  
Alt 17-11-2011, 19:51
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Auch wenn das hier vielleicht nicht richtig ist, habe ich noch eine Frage. Wie kann ich abfragen ob die "VIEW" abfragbar für den aktuellen User ist, so das das Script nicht abbricht. (PHP)

Danke und Grüße
Michael
Mit Zitat antworten
  #10 (permalink)  
Alt 17-11-2011, 20:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

PHP-Scripte brechen nicht ab, wenn Datenbankabfragen schief gehen.
Baue eine sinnvolle Fehlerbehandlung ins Script ein.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
No input file specified andik2000 Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 3 03-11-2011 15:39
Fehler : No input file specified KeinePanik PHP Developer Forum 6 25-05-2005 23:20
User-of-the-Week stun BRAINSTORMING PHP/SQL/HTML/JS/CSS 2 15-03-2005 15:44
The Singhsons / The Simpsons Benny-one Out of Order 17 08-06-2004 22:13
The shortest domainname of the world hand Off-Topic Diskussionen 4 24-08-2002 05:28

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
EJS TreeGrid ansehen EJS TreeGrid

EJS TreeGrid is DHTML component written in pure JavaScript to display and edit data in table, grid, tree view or grid with tree on HTML page

09.04.2019 coqsoft@ | Kategorie: JAVASCRIPT/ Components
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:05 Uhr.