php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.06.2011, 15:08  
Neuer Benutzer
 
Registriert seit: 26.06.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Athena befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Funktionen, SQL Abfrage

Hi,

ich habe folgendes Problem und hoffe, ihr könnt mir weiterhelfen.


PHP-Code:
    function fAbfrageL ($sql) {        
            if ( !
$result mysql_query($sql) ) {
                exit(
mysql_error());
            }
            if (
mysql_num_rows($result) == 1) {
            return (
$result[0]);
        } else {
            return (
'-1');
        }
    } 
Mit dieser Funktion möchte ich einen einzelnen Wert aus meiner MySQL-Datenbank ablesen. Wenn kein Wert gefunden wird, soll -1 zurückgegeben werden.

Leider funktioniert die Funktion nicht, denn sie gibt rein gar nichts zurück .

Ich bitte um Hilfe,

lG Athena
Athena ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.06.2011, 15:13  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Dein "nix" wird wohl eine Resultset-Ressource sein..

Mach mal was gegen dein Einrückungs-Picassoiat:

PHP-Code:
function fAbfrageL $sql ) {
   
$result mysql_query($sql) or die(mysql_error());
   if ( 
mysql_num_rows($result) == ) return $result;
   else return -
1;

wäre die "Aufgräume" Version deiner Funktion.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 26.06.2011, 15:25  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Bau doch bitte statt deinem exit() eine Exception ein. Wenn es keine Ergebnismenge gibt, solltest du auch nicht -1 zurückgeben. Je nach Definition ist es eine Exception oder NULL. Aber sicherlich nicht string "-1".

Wo genau "fetcht" du das Ergebnis?

Siehe mysql_result oder mysql_fetch_array.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 26.06.2011, 15:50  
Neuer Benutzer
 
Registriert seit: 26.06.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Athena befindet sich auf einem aufstrebenden Ast
Standard

Erstmal vielen Dank für eure Hilfe .


Zitat:
Wenn es keine Ergebnismenge gibt, solltest du auch nicht -1 zurückgeben. Je nach Definition ist es eine Exception oder NULL. Aber sicherlich nicht string "-1".
Da ich wenig Ahnung von php habe (aber es versuche zu erlernen), habe ich angenommen, dass NULL mit "" oder 0 gleichzusetzen ist. Das sind allerdings mögliche Werte in der Tabelle. Wenn kein Wert vorhanden ist, weil kein Tabelleneintrag vorliegt, soll die Seite allerdings wieder zur Startseite verweisen.


Zitat:
Wo genau "fetcht" du das Ergebnis?

Siehe mysql_result oder mysql_fetch_array.
Ich bin mir nicht sicher, ob ich die Frage richtig verstehe. Meinst du, wo ich dafür sorge, dass mein Array nur einen Listeneintrag hat?
Das ist automatisch der Fall, weil meine SQL-Abfragen maximal einen Eintrag haben können (zB über ID).


Ich hab die Lösung von tr0y ausprobiert, jedoch klappt es nicht. Ich bekomme als Ausgabe "Resource ID #5". Ich nehme stark an, dass liegt daran, dass $result ein Array ist. Ich versteh nur nicht, warum ich keinen einzelnen Wert mit Array[x] auslesen kann.


lg Athena
Athena ist offline   Mit Zitat antworten
Alt 26.06.2011, 15:56  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Das Result ist kein Array, sondern eine Ressource. Ein Array erzeugst du daraus per:

PHP-Code:
$resultData = array();
while( 
$data mysql_fetch_assoc($result) ) $resultData[] = $data
worauf du dann per

PHP-Code:
$resultData[0
auf den ersten Record zugreifen kannst.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 26.06.2011, 16:18  
Neuer Benutzer
 
Registriert seit: 26.06.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Athena befindet sich auf einem aufstrebenden Ast
Standard

Irgendwie klappt das immer noch nicht so ganz.

Ich bekomme folgende Ausgaben für:

1: $resultData -> 'Array'
2: $resultData[0] -> 'Array'
3: $resultData[1] -> ''

1 kann ich mir gut erklären, weil das Object Array ansich ja nicht ausgegeben werden kann.
3 dürfte auch klar sein, weil dank meiner SQL-Abfrage Array[1] nicht belegt wird.

Aber warum zum Henker speichert der den String 'Array' in [0] ein?
Athena ist offline   Mit Zitat antworten
Alt 26.06.2011, 16:27  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

PHP-Code:
var_dump($resultData[0]); 
ohne Worte.

PHP-Code:
$learn = new Grundlagen();

while( 
$current $learn->getChapter() ) Inventory::Coffee()->consume('now''massive'); 
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 26.06.2011, 16:57  
Neuer Benutzer
 
Registriert seit: 26.06.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Athena befindet sich auf einem aufstrebenden Ast
Standard

alles klar danke^^

Ich konnte ja nicht wissen, dass der Spaltenname mit eingespeichert wird xD
Athena ist offline   Mit Zitat antworten
Alt 26.06.2011, 21:09  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Das lernt man(n / frau) eigentlich in der PHP-Grundschule.. Sobald man sich mit MySQL in Verbindung mit PHP beschäftigt und an den mysql_fetch_* Methoden austobt.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
sql abfrage unterschied where, join kaptainIglo Datenbanken 8 15.06.2011 13:09
[Erledigt] SQL Abfrage in einer for schleife darkman PHP Einsteiger 4 28.04.2011 11:22
Array aus SQL Abfrage zusammenbauen um es rekursiv abzuarbeiten litterauspirna PHP Einsteiger 7 01.02.2011 18:44
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
Problem mit PHP Variablen in SQL Befehl Noahndertaler Datenbanken 2 26.01.2011 17:14
SQL Abfrage mehrer Kategorien einer Verknüpfungstabelle sven. Datenbanken 3 19.01.2011 11:38
Werte mehrerer Checkboxen für SQL Abfrage übernehmen? krais PHP Einsteiger 4 14.01.2011 21:24
SQL Abfrage von Autoren $$$ ThiKool $$$ PHP Einsteiger 1 12.01.2011 16:08
Umlaute (ä) in der SQL Abfrage noop Datenbanken 5 09.01.2011 23:06
result Variablen von SQL verbinden vci PHP Tipps 2010 15 05.02.2010 19:09
Scriptsuche [Erledigt] SQL- Abfrage über 2 tabellen ejim Scriptbörse 1 17.07.2009 21:10
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql max funktion in if else abfrage, php funktion sql-abfrage, sql abfrage wert nicht belegt, sql-abfrage mit php-funktion, in php funktion sql abfrage?, sql abfrage in funktion, php funktion in sql abfrage, php sql abfrage funktion, sql abfrage mit php, sql if funktion, php mysql_num_rows returns 1, sql abfrage mit php funktion

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum