Alt 29.10.2011, 07:44:21   #1 (permalink)
schweizer
Benutzerbild von Regenmacher

ID: 103781
Lose-Remote

Regenmacher eine Nachricht über ICQ schicken Regenmacher eine Nachricht über Skype™ schicken
Reg: 03.05.2006
Beiträge: 575
Regenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nett
Standard Fehler in Abfrage

Hallo, wer kann mir weiterhelfen?

-----------------------------------------------------------------------------------------
Aktuell geht es auf Seite 2 weiter, hier der Link:
Fehler in Abfrage

-----------------------------------------------------------------------------------------
ich erstelle eine Seite, bei der der ganze Text in mehreren Sprachen in einer DB ist.

dazu habe ich folgende Abfrage:

Code:
1:
2:
3:
4:
5:
6:
<? $abfrage = "SELECT $language FROM texte WHERE id = '3'"; $abfrage2 = mysql_query($abfrage); while ($row = mysql_fetch_object($abfrage2)) { $texte3 = $row->$language; } <? echo " $texte3" ?>
Ich erhalte jeweils den Fehler
Zitat:


Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web5/html/design/header.php on line 3
Das is die Tabelle
Zitat:
-- Tabellenstruktur für Tabelle `texte`
--

CREATE TABLE IF NOT EXISTS `texte` (
`id` decimal(5,0) NOT NULL default '0',
`d` longtext NOT NULL,
`f` longtext NOT NULL,
`i` longtext NOT NULL,
`r` longtext NOT NULL,
`e` longtext NOT NULL,
`standort` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `texte`
--

INSERT INTO `texte` (`id`, `d`, `f`, `i`, `r`, `e`, `standort`) VALUES
(1, 'Montag', '', '', '', 'unbekannt', '');
INSERT INTO `texte` (`id`, `d`, `f`, `i`, `r`, `e`, `standort`) VALUES
(2, 'Dienstag', '', '', '', 'unbekannt', '');
INSERT INTO `texte` (`id`, `d`, `f`, `i`, `r`, `e`, `standort`) VALUES
(3, 'Mittwoch', '', '', '', '', '');
Ich habe den Code 1:1 von einer alten Seite übernommen

wer kann mir weiterhelfen?

Geändert von Regenmacher (16.03.2012 um 17:15:40 Uhr) Grund: Tabelle Text in Texte umbenannt
Regenmacher ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 29.10.2011, 07:49:49   #2 (permalink)
kanz pöhse
Benutzerbild von LasMiranda

ID: 28058
Lose-Remote

LasMiranda eine Nachricht über ICQ schicken LasMiranda eine Nachricht über AIM schicken LasMiranda eine Nachricht über MSN schicken LasMiranda eine Nachricht über Yahoo! schicken LasMiranda eine Nachricht über Skype™ schicken
Reg: 05.05.2006
Beiträge: 2.897
LasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes AnsehenLasMiranda genießt hohes Ansehen
Standard

Text ist sicherlich ein geschütztes Schlüsselwort und muss deshalb, wenn nicht ein anderer genommen wird, in `` gesetzt werden.
Gruß, Martin
Losekredite/-anleihen: 0,7%-0,9%/Tag

Deppenapostroph? CD's, DVD's, Mehrzahl und Genitiv ohne Apostroph
Deppenleerzeichen? Service Gebühr, Lose Seite, ... zusammenhängende Worte auch zusammenschreiben, also Loseseite, Servicegebühr oder mit - trennen
totaler Schrott? AGB's - Grund: laut Duden ist AGB schon die Mehrzahl + Deppenapostroph
LasMiranda ist offline   Mit Zitat antworten
Alt 29.10.2011, 07:50:06   #3 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Moin,

[PHP/MySQL] supplied argument is not a valid MySQL result resource

P.S. Ich hoffe, dass $language sicher ist.
theHacker ist gerade online   Mit Zitat antworten
Alt 29.10.2011, 09:01:12   #4 (permalink)
ist maskulin
Benutzerbild von DasGuru

ID: 420909
Lose-Remote
Gesperrt

DasGuru eine Nachricht über ICQ schicken DasGuru eine Nachricht über Skype™ schicken
Reg: 16.08.2008
Beiträge: 1.899
DasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz sein
Standard

mich würde ebenso interessieren was die Variable $language beinhaltet

einfach mal var_dumpen und evtl sauber syntaktieren
Do not argue with an idiot. He will drag you down to his level and beat you with experience
99%Refback für alle
| Novoline-Spiele | ich zahle meine Schulden |
3 mio Lose + Aktivitätsboni bei eBesucher
| eSig



DasGuru ist offline   Mit Zitat antworten
Alt 29.10.2011, 09:07:03   #5 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<? 
$abfrage 
"SELECT {$language} FROM text WHERE id = '3'";
$abfrage2 mysql_query($abfrage);

while (
$row mysql_fetch_object($abfrage2)) 
 {
 
$text3  $row->$language;
 }

echo 
$text3
?>
Probier mal.
Handymann ist offline   Mit Zitat antworten
Alt 29.10.2011, 09:32:15   #6 (permalink)
schweizer
Benutzerbild von Regenmacher

ID: 103781
Lose-Remote

Regenmacher eine Nachricht über ICQ schicken Regenmacher eine Nachricht über Skype™ schicken
Reg: 03.05.2006
Beiträge: 575
Regenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nett
Standard

Moin allerseits

Die Variable $language hat entweder d, f, i, r oder e (Sprache)
http://www.domain.ch/index.php?language=d

Geändert von Regenmacher (29.10.2011 um 09:38:33 Uhr)
Regenmacher ist offline Threadstarter   Mit Zitat antworten
Alt 29.10.2011, 09:38:03   #7 (permalink)
schweizer
Benutzerbild von Regenmacher

ID: 103781
Lose-Remote

Regenmacher eine Nachricht über ICQ schicken Regenmacher eine Nachricht über Skype™ schicken
Reg: 03.05.2006
Beiträge: 575
Regenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nett
Standard

Zitat:
Zitat von Handymann Beitrag anzeigen
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<? 
$abfrage 
"SELECT {$language} FROM text WHERE id = '3'";
$abfrage2 mysql_query($abfrage);

while (
$row mysql_fetch_object($abfrage2)) 
 {
 
$text3  $row->$language;
 }

echo 
$text3
?>
Probier mal.
das mag er auch nicht...
Zitat:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web5/html/design/header.php on line 5
Regenmacher ist offline Threadstarter   Mit Zitat antworten
Alt 29.10.2011, 09:43:01   #8 (permalink)
ist maskulin
Benutzerbild von DasGuru

ID: 420909
Lose-Remote
Gesperrt

DasGuru eine Nachricht über ICQ schicken DasGuru eine Nachricht über Skype™ schicken
Reg: 16.08.2008
Beiträge: 1.899
DasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz sein
Standard

Zitat:
Zitat von Regenmacher Beitrag anzeigen
Moin allerseits

Die Variable $language hat entweder d, f, i, r oder e (Sprache)
http://www.domain.ch/index.php?language=d
bööööse !
Du solltest die Variable dringlichst escapen um XSS-Angriffe zu unterbinden.

Außerdem würde ich erst prüfen, ob die Spalte $language existiert. Auch deswegen kann dieser Fehler entstehen.

PHP-Code:
1:
$abfrage "SELECT ´".$language."´ FROM ´text´ WHERE id = '3'"
Do not argue with an idiot. He will drag you down to his level and beat you with experience
99%Refback für alle
| Novoline-Spiele | ich zahle meine Schulden |
3 mio Lose + Aktivitätsboni bei eBesucher
| eSig



DasGuru ist offline   Mit Zitat antworten
Alt 29.10.2011, 09:43:03   #9 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard

Um es zu testen mache es mal so.

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<? 
$abfrage 
"SELECT d FROM text WHERE id = '3'";
$abfrage2 mysql_query($abfrage);

while (
$row mysql_fetch_object($abfrage2)) 
 {
 
$text3  $row->$language;
 }

echo 
$text3
?>
Wenn es so geht , liegt es an der Variable die übergeben wird.
Handymann ist offline   Mit Zitat antworten
Alt 29.10.2011, 09:58:50   #10 (permalink)
schweizer
Benutzerbild von Regenmacher

ID: 103781
Lose-Remote

Regenmacher eine Nachricht über ICQ schicken Regenmacher eine Nachricht über Skype™ schicken
Reg: 03.05.2006
Beiträge: 575
Regenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nett
Standard

Jo das liegt definitiv an dem ollen $language
bei der sprachauswahl übernimmt er mir die sprache (d) nicht...
Regenmacher ist offline Threadstarter   Mit Zitat antworten
Alt 29.10.2011, 10:01:44   #11 (permalink)
alias Echnaton
Benutzerbild von transversalis

ID: 309239
Lose-Remote

Reg: 18.01.2008
Beiträge: 2.399
transversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehen
Standard

Zitat:
Zitat von Regenmacher Beitrag anzeigen
WHERE id = '3'

Wenn ID ein DECIMAL-Feld ist, warum steht der Wert dann in Hochkommata ?
"transversalis teleport" sprach der Magier und war fort
transversalis ist offline   Mit Zitat antworten
Alt 29.10.2011, 11:21:40   #12 (permalink)
schweizer
Benutzerbild von Regenmacher

ID: 103781
Lose-Remote

Regenmacher eine Nachricht über ICQ schicken Regenmacher eine Nachricht über Skype™ schicken
Reg: 03.05.2006
Beiträge: 575
Regenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nett
Standard

Zitat:
Zitat von transversalis Beitrag anzeigen
Wenn ID ein DECIMAL-Feld ist, warum steht der Wert dann in Hochkommata ?
hmm, gute Frage vermute mal, dass beim ursprünglichen Code was anderes stand. aber es funktioniert auch mit Hochkommata

so, also, ich hab das Teil zum laufen gebracht.....
so sieht der ganze Code aus, weiss net, ev is er nicht 100% sauber....
aber er funktioniert schon mal, und das ist viiel....

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
<?php if(!isset($_GET["language"])) { function orderedLanguages() { $languages = split(",", $_SERVER['HTTP_ACCEPT_LANGUAGE'] ); $lang_q = Array(); foreach( $languages as $aLang ) { $lang_array = split(";q=", trim( $aLang ) ); $lang = trim( $lang_array[0] ); if( !isset( $lang_array[1] ) ) $q = 1; else $q = trim($lang_array[1]); $lang_q["$lang"] = (float)$q; } arsort($lang_q); //extra code for making the languages key indexed $i = 0; $lang_index = Array(); foreach($lang_q as $lang => $q) { // $lang_q[$i] = $lang; //add to the same array the index key/language $lang_index[$i] = $lang; //add to a new array the index key/language $i++; } return $lang_index; // uncomment for returning array with keys={0..n-1}, values={most..least preferred} //return $lang_q; } $language_browser = orderedLanguages(); $language = $language_browser[0]; $language_raw = str_split($language,2); $language = $language_raw[0]; switch($language) { case "zh": $language = "c"; break; case "es": $language = "s"; break; case "ru": $language = "ru"; break; default: $language_raw = str_split($language,1); $language = $language_raw[0]; } } else { $language = $_GET["language"]; } $own_name = $_SERVER["PHP_SELF"]; ?> <body> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><u><b>bitte Sprache wählen: <a href="index.php?language=d">Deutsch</a> <a href="index.php?language=r">Romanisch</a></b></u></font> </div> <? $abfrage = "SELECT $language FROM texte WHERE id = 1"; $abfrage2 = mysql_query($abfrage); while ($row = mysql_fetch_object($abfrage2)) { $texte1 = $row->$language; } ?> <? echo "$texte1" ?>
Regenmacher ist offline Threadstarter   Mit Zitat antworten
Alt 29.10.2011, 11:27:41   #13 (permalink)
schweizer
Benutzerbild von Regenmacher

ID: 103781
Lose-Remote

Regenmacher eine Nachricht über ICQ schicken Regenmacher eine Nachricht über Skype™ schicken
Reg: 03.05.2006
Beiträge: 575
Regenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nettRegenmacher ist einfach richtig nett
Standard

Zitat:
Zitat von DasGuru Beitrag anzeigen
bööööse !
Du solltest die Variable dringlichst escapen um XSS-Angriffe zu unterbinden.

Außerdem würde ich erst prüfen, ob die Spalte $language existiert. Auch deswegen kann dieser Fehler entstehen.

PHP-Code:
1:
$abfrage "SELECT ´".$language."´ FROM ´text´ WHERE id = '3'"
hmm, wenn ich das ganze escape dann gib er mir den $language Inhalt, also Sprache anstatt den inhalt von der Tabelle texte aus
Regenmacher ist offline Threadstarter   Mit Zitat antworten
Alt 29.10.2011, 15:30:29   #14 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Kleiner Tipp noch am Rande, der hier noch gar nicht erwähnt wurde: mysql_error() hilft ungemein bei der Fehlersuche. Sobald ein Query fehlschlägt, einfach mal direkt nach dem entsprechenden mysql_query() ein mysql_error() einbauen, um nachzugucken, wo's überhaupt genau hakt.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 29.10.2011, 18:22:34   #15 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von tleilax Beitrag anzeigen
[...] der hier noch gar nicht erwähnt wurde:
Post #3... nur einen Klick entfernt
theHacker ist gerade online   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[HTML/PHP/MySQL] If Abfrage Zocker4Life Programmierung 5 19.04.2011 14:20:50
Schnittstellen-Fehler am EF? (Returncode 1099) "unbekannter Fehler" mephi1982 Bug-Report 5 22.07.2009 03:31:58
MYSQL Abfrage Fehler Laserdancer2000 Programmierung 7 13.07.2009 19:31:12
(B) 300k Lose pro Fehler! Checkt meine Seite auf Fehler... Adiceltic Lose4Misc 14 12.11.2008 10:49:57
[MySQL] Fehler in Abfrage? atlan428 Programmierung 0 25.10.2006 18:01:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27:54 Uhr.