php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.06.2005, 17:03  
Gast
 
Beiträge: n/a
Standard PHP liest keinen Wert aus DB-Tabelle, der Wert ist aber 2

Also,
ich habe ein Problem. Erstmal der Code:
PHP-Code:
<?php
include("connect.php");
connection();
$sql "SELECT * FROM user WHERE code='$_GET[user]'";
$user mysql_query($sql);
while(
$row mysql_fetch_assoc($user)){
$uid $row['id'];
}
?>
"id" in der Datenbank user muss 2 haben, wenn ich mit meinem Testuser online gehe. Ein paar Zeilen später mache ich folgendes:
PHP-Code:
<?php
echo "$uid";
?>
Eigentlich muss ja der Wert 2 ausgegeben werden, aber was passiert?
Es wird garnichts ausgegeben!
Hoffentlich kann mir jemand helfen.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.06.2005, 17:08  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) mysql_error() verwenden
2) mysql_num_rows bevor du ne schleife machst und nicht vorhandenes abrufst
3) bastel mal ein var_dump($row); in die schleife rein
4) überschreibst du btw jeden durchlauf die $uid
5) nächstes mal anstatt der [code]-tags die [php]-tags benutzen

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 29.06.2005, 17:20  
Gast
 
Beiträge: n/a
Standard

mysql_error() wird da nicht helfen. Ich habe mal mit phpMyAdmin das SQL eingegeben und es hat geklappt.
Bei var_dump($row) bekomme ich gesagt, dass $row["id"] den Wert 2 hat.
$uid wird nur einmal beschrieben, da es nur eine Zeile gibt, bei der code der angegebene Code ist.
Es klappt leider immer noch net.

Aber ich habe mal in der while-schleife $row["id"] ausgegeben. Es wurde 2 ausgegeben. Aber warum bekommt $uid dann keinen Wert?
  Mit Zitat antworten
Alt 29.06.2005, 17:29  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

wie viele ergebnisse gibt es denn ?
stehst der code so zusmamen oder benutzt du funktion ? klassen ?
ansonsten error_reporting(E_ALL); ganz an den anfang deines scripts mal einfügen
robo47 ist offline   Mit Zitat antworten
Alt 29.06.2005, 17:33  
Gast
 
Beiträge: n/a
Standard

Notice: Undefined index: user in /home/www/freehosting/20320/htdocs/chat/inserttext.php on line 10

Das ist die Ausgabe. Aber das kann nicht sein.
Der Code in dem die Datei inserttext aufgerufen wird:
PHP-Code:
<?php
$code 
$_GET['code'];
echo<<<CHAT
<frameset rows='*,10%'>
<frameset cols='20%,*'>
<frame src='online.php'>
<frame src='chattext.php?user=
{$code}'>
</frameset>
<frame src='inserttext.php?user=
{$code}'>
</frameset>
CHAT;
?>
Wie man sieht wird der Wert $_GET['user'] bestimmt.
  Mit Zitat antworten
Alt 29.06.2005, 17:36  
Gast
 
Beiträge: n/a
Standard

1. SELECT * FROM ist Noob. Und Perfomance fressend
2. Du überschreibst die Variable! Zum zweiten mal... benutze entweder

PHP-Code:
<?php
$uid 
.= $row['id'];

// oder

$uid[] = $row['id'];

// und nach der Schleife
echo 'Die Schleife durchlief '.COUNT($uid).' mal. 

'
;
echo 
'User-IDs: 
'
.implode('
'
,$uid);
  Mit Zitat antworten
Alt 29.06.2005, 20:37  
Gast
 
Beiträge: n/a
Standard

Aber die Schleife wird doch sowieso immer nur einmal durchgeführt!
Also ist es doch egal, ob die Variable überschrieben wird.
Ich hab doch schon gesagt, dass der Fehler in Zeile 10 liegt:
PHP-Code:
<?php
$sql 
"SELECT * FROM user WHERE code='$_GET[user]'";
?>
Fehlermeldung und Frameset kann man oben lesen.
  Mit Zitat antworten
Alt 29.06.2005, 21:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Notice: Undefined index: user
Das Feld hat kein Element mit dem Index user

Versuch's mal so
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'true);

include(
"connect.php");
connection();

echo 
'<fieldset><legend>Inhalt von $_GET</legend><pre>'print_r($_GET); echo '</pre></fieldset>';

$sql "SELECT * FROM user WHERE code='$_GET[user]'";
$user mysql_query($sql) or die(mysql_error().': '.$sql);
while(
$row mysql_fetch_assoc($user)){
    
$uid $row['id'];
}
?>
  Mit Zitat antworten
Alt 29.06.2005, 21:44  
Gast
 
Beiträge: n/a
Standard

Daaanke!
Es klappt!
Es war aber ein anderer Fehler, den ich durch den Code finden konnte:
Und zwar lag er im Formular, dessen Code ich nicht gepostet habe. Wie man sieht wird ein Code über Get übergeben, wenn man aber den submit-Button des Formulars drückt, wird Get gelöscht.
  Mit Zitat antworten
Alt 29.06.2005, 21:58  
Gast
 
Beiträge: n/a
Standard

huh? Wenn das Formular abgeschickt wird - sprich: eine Anfrage nach dem Dokument aus action="..." abgeschickt wird, werden die Name/Wert-Paare der benannten Elemente mit dieser Anfrage mitgeschickt.
Mich dünkt, Du hast das Prinzip von http/php noch nicht verstanden.
Deshalb kann ich nur raten, eines der Tutorien aus http://www.phpfriend.de/ftopic15782.html durchzuarbeiten.
  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
[Erledigt] Prüfen, ob ein Wert in der Tabelle ist Inchie PHP Tipps 2008 2 02.07.2008 21:08
maximum wert einer tabelle wiedergeben incubo PHP-Fortgeschrittene 6 13.03.2008 18:22
SQL-Abfrage mit Wert aus anderer Tabelle füllen maeck Datenbanken 2 25.07.2007 20:36
In einer Abfrage Wert, aus einer anderen Tabelle abfragen? &lt;Daniel&gt; Datenbanken 1 26.10.2006 16:30
wert aus einer tabelle mit wert aus andere tabelle ersetzen lindner Datenbanken 3 11.07.2006 17:20
[Erledigt] Höchsten Wert aus Tabelle auslesen Datenbanken 2 23.06.2006 12:34
Tabelle mittels ID einen Wert zuweisen? Picard PHP Tipps 2006 8 22.03.2006 18:38
Tabelle nach einem Wert durchsuchen, wenn vorhanden... PHP Tipps 2007 3 08.12.2005 19:52
>>Anzeigen wenn Bestimmter Wert in der Tabelle vorhand PHP Tipps 2007 1 07.12.2005 22:01
Vergleich von einem Wert, mit Werten aus einer Tabelle PHP Tipps 2005 14 01.11.2005 03:04
Pulldown/Combobox dyn. von Tabelle und Wert weitergeben PHP Tipps 2005-2 7 09.08.2005 23:46
MySQL Tabelle nach wert in spalte durchsuchen PHP Tipps 2005 5 31.01.2005 20:37
[Erledigt] niedrigster wert in einer tabelle Datenbanken 2 12.10.2004 03:59
Maximal Wert in MYSQL Tabelle nach id rausfinden? PHP Tipps 2004 3 03.07.2004 23:27
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php liest das $row nicht, php liest, php werte von bis aus db tabelle

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:33 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.