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 16-06-2007, 17:00
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard Datenbankhandler in Klasse übergeben

Hi, ich habe grade an einer Homepage geschrieben, als ich merkte das ich auf 2 Datenbanken zugreifen musste. Deshalb hab ich jetzt versucht mit Handlern zu arbeiten. Da ich aber nich nochmal jede query ändern wollte habe ich einfach eine mit Handler laufen und eine ohne.
PHP-Code:
//Verbindung zur MySQL Datenbank herstellen
$forum mysql_connect($config['host'],$config['benutzername'],$config['passwort']) 
or 
$fehler[] = "Konnte keine Verbindung zum SQL Server herstellen";
mysql_select_db("testforum",$forum);
mysql_connect($config['host'],$config['benutzername'],$config['passwort']) 
or 
$fehler[] = "Konnte keine Verbindung zum SQL Server herstellen";
mysql_select_db($config['datenbankname']) 
or 
$fehler[] = "Konnte keine Verbindung zur SQL Datenbank herstellen"
mit der 2. Datenbank connection klappt alles wunderbar. Weil ohne einen Handler in der query nimmt SQL ja die letzte connection.
Nun wollte ich in einer Klasse aus $forum Daten auslesen.
PHP-Code:
$auth = new Auth($forum); 
also übergebe ich den Handler:
in der Klasse steht dann:
PHP-Code:
$this->forum $forum;
$this->query mysql_query("SELECT ...",$this->forum);
mysql_num_rows($this->query); 
nur jetzt wird mir ein Fehler ausgegeben und ich glaube das er in $forum nicht rihtig conected

Fehler:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\XAMPP\htdocs\Orkteckneu\core\klassen.php on line 45

Geht das so wie ich das mache mit dem Datenbankhandler oder mach ich dort was falsch?

Vielen Dank im Vorraus
Dulla_Po
Mit Zitat antworten
  #2 (permalink)  
Alt 16-06-2007, 17:57
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

$this->query = mysql_query("SELECT ...",$this->forum) or die(mysql_error());
Mit Zitat antworten
  #3 (permalink)  
Alt 17-06-2007, 10:44
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Fehler: Table 'test.bb1_users' doesn't exist

aha, aber er soll ja zur Datenbank testforum verbinden. Also wurde der Handler $forum nicht ordentlich übergebn.
Mit Zitat antworten
  #4 (permalink)  
Alt 17-06-2007, 11:29
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Dulla_Po
Fehler: Table 'test.bb1_users' doesn't exist

aha, aber er soll ja zur Datenbank testforum verbinden. Also wurde der Handler $forum nicht ordentlich übergebn.
Nein, der Handler wurde schon richtig übergeben, sonst bekommst du andere Fehlermeldung! Lese die Fehlermeldung nochmals durch und unternimm was dagegen!
Mit Zitat antworten
  #5 (permalink)  
Alt 17-06-2007, 12:18
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, bei den mysql_connect() aus meinem 1. Post hab ich einmal $forum als handler zugeordnet der zur Datenbank testforum connecten soll. In testforum existiert diese Tabelle. Aber dann hab ich noch ein connect ohne einen Handler und den hat er übernommen, da dieses connect zur Datenbak test verbindet. Wenn ich nur für diese auch einen Handler nehmen müsste, müsste ich nochmal alle meine Scripte ändern und deshalb hab ich dem 2. connect keinen Handler zugeordnet. Jetzt verbindet der aber mit dem connect ohne Handler und da existiert diese Tabelle ja nicht.
Mit Zitat antworten
  #6 (permalink)  
Alt 17-06-2007, 12:45
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ich fasse deine Worte nochmal zusammen:
1. In 'testforum' gibt es eine Tabelle 'bb1_users'.
2. In 'test' gibt es keine Tabelle 'bb1_users'.

Und nun lies dir die Fehlermeldung nochmal durch:
"Table 'test.bb1_users' doesn't exist."

Ziemlich egal, ob mit oder ohne oder welches Handle überhaupt. Wegen 2. kann diese Query nicht funktionieren. Groschen gefallen?

Geändert von onemorenerd (17-06-2007 um 12:48 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 17-06-2007, 13:06
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jaja, schon klar.
Aber warum verbindet der nicht zur testforum DB oder ignoriert einfach das Handle was ich in die query mit übergeben habe?
$forum soll zur testforum Db connecten, hat aber genau dieselbe Resource id wie der Handler, der auf die test DB zugreifen soll.
Also greift er nur auf die test DB zu und ich kann nicht die Tabellen aus der testforum DB auslesen.

Geändert von Dulla_Po (17-06-2007 um 13:30 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 17-06-2007, 14:59
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

problem ist ganz einfach:

deine Ausgewählte Datenbank mit dem Handler in $forum wird überschrieben, weil gleicher server, gleicher benutzer, gleiches passwort ----> gleiche verbindung...

die verbindung besteht bereits und wird deshalb nicht erneut aufgebaut... deshalb bezieht sich dein zweites select_db auch gleichzeitig auf die durch $formu gehandelte verbindung...

greetz, high
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel
Mit Zitat antworten
  #9 (permalink)  
Alt 17-06-2007, 16:23
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm, ok danke
Wie kann ich denn erreichen das eine andere Datenbank mit einbezogen wird?
Mit Zitat antworten
  #10 (permalink)  
Alt 17-06-2007, 16:53
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

am einfachsten einen zweiten benutzer mit gleicher berechtigung für die datenbank anlegen und beide verbindungen mit unterschiedlichen benutzern aufbauen...

dann gibts auch zwei eigenständige verbindungen, ergo auch zwei verschiedene handler...

greetz, high
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel
Mit Zitat antworten
  #11 (permalink)  
Alt 17-06-2007, 16:58
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmmm, die datenbank ist leider gehostet und da gibt es nur einen Benutzer. Geht das nicht irgendwie anders, denn ich hab leider keine Berechtigung einen neuen Benutzer zu erstellen
Mit Zitat antworten
  #12 (permalink)  
Alt 17-06-2007, 17:03
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dann bleibt dir nur die möglichkeit, vor jeder query die datenbank zu wechseln. (mysql_select_db)

nicht schön...

oder du legst beide installationen in die selbe datenbenk und stellst den tabellen-namen ein prefix voran (zb. forum1_bb2_users und forum2_bb2_users)

auch nicht schön *gg*...

was ist denn eigentlich der Sinn dieses hin und her?

greetz, high
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel
Mit Zitat antworten
  #13 (permalink)  
Alt 17-06-2007, 17:18
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja ich habe eine Datenbank für die Organisatorischen Sachen für die Homepage z.B. Newstabelle und User Online Tabelle und in der anderen Datenbank ist das Burning Board installiert. Naja ich muss ja nur an einer Stelle die DB wechseln. Also geht das ja noch.
Danke dir!
Mit Zitat antworten
  #14 (permalink)  
Alt 17-06-2007, 17:28
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nimm mysql_db_query dann brauchst du kein mysql_select_db
Mit Zitat antworten
  #15 (permalink)  
Alt 17-06-2007, 18:07
Dulla_Po
 Member
Links : Onlinestatus : Dulla_Po ist offline
Registriert seit: Aug 2006
Ort: Berlin
Beiträge: 237
Dulla_Po ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ah super ok danke
Mit Zitat antworten
Antwort

Lesezeichen


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

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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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