MYSQL MIT PHP

MYSQL MIT PHP

am 07.04.2006 11:10:05 von sweetboy

Hallo Leute,
ich hoffe es euch fällte eine Lösung und zwar für folgendes Problem:

ich habe volgenden Code:

$search_User =3D "select COUNT(*) AS zahl from benutzer where
U_B_NAME =3D '".$user."'";

mysql_select_db("Benutzer");
$re =3D mysql_query($search_User);
$ro =3D mysql_fetch_assoc($re);

ich bekomme eine Felher zurück die lautet:


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL
result resource in C:\Programme\xampp\htdocs\enter.php on line 86
Wisst ihr mehr als ich wie ich es beheben kann,
Vielen dank in voraus.
Gruss No - Man

Re: MYSQL MIT PHP

am 07.04.2006 11:16:02 von akorthaus

Hallo!

sweetboy@surf.co.nz schrieb:

> $search_User =3D "select COUNT(*) AS zahl from benutzer where
> U_B_NAME =3D '".$user."'";
>=20
> mysql_select_db("Benutzer");
> $re =3D mysql_query($search_User);
> $ro =3D mysql_fetch_assoc($re);
>=20
> ich bekomme eine Felher zurück die lautet:
>=20
> Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL
> result resource in C:\Programme\xampp\htdocs\enter.php on line 86
> Wisst ihr mehr als ich wie ich es beheben kann,

Das hier ist wohl die falsche Gruppe, evtl. mal in=20
de.comp.lang.php.datenbanken versuchen, und vorher evtl. noch folgende=20
Funktion einbauen:

http://de3.php.net/mysql_error
(damit MySQL Dir überhaupt sagen kann was Du falsch machst)

Grüße
Andreas

Re: MYSQL MIT PHP

am 07.04.2006 11:17:31 von Christian Kirsch

sweetboy@surf.co.nz schrieb:
> Hallo Leute,
> ich hoffe es euch fällte eine Lösung und zwar für folgendes Problem:
>

Du postest mit einem flaschen Namen in der flaschen Newsgroup. Löst
das Dein Problem?

Re: MYSQL MIT PHP

am 07.04.2006 17:43:33 von christoph.soellner

Probiers mal damit:

$search_User = "
SELECT
COUNT([DeineUserID|'U_B_NAME']) AS zahl
FROM benutzer
WHERE U_B_NAME = '$user'
";
COUNT kann imo nur eine Spalte auf einmal zählen.

Oh und richtig: Realname, bitte.
Christoph

Re: MYSQL MIT PHP

am 08.04.2006 12:51:39 von Christian Kirsch

Christoph Soellner wrote:
> Probiers mal damit:
>
> $search_User = "
> SELECT
> COUNT([DeineUserID|'U_B_NAME']) AS zahl
> FROM benutzer
> WHERE U_B_NAME = '$user'
> ";

Mal schauen...

> mysql> SELECT COUNT([5 | 'U_B_NAME'] AS zahl FROM benutzer WHERE
>> U_B_NAME='bla';
>
> ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[5 | 'U_B_NAME'] AS zahl FROM benutzer WHERE U_B_NAME='bla'' at line 1

Aha.

> COUNT kann imo nur eine Spalte auf einmal zählen.
>
> Oh und richtig: Realname, bitte.
> Christoph
>
>
Deine geschickte Quoting-Technik hindert den geneigten Leser daran
festzustellen, dass auch der OP nur 'eine Spalte' zählen wollte:

> $search_User = "select COUNT(*) AS zahl from benutzer where
> U_B_NAME = '".$user."'";

M.E. zählt Count() ohnehin Zeilen, aber das steht wohl auf einem anderen
Blatt.

Re: MYSQL MIT PHP

am 08.04.2006 18:26:50 von christoph.soellner

>> mysql> SELECT COUNT([5 | 'U_B_NAME'] AS zahl FROM benutzer WHERE
>> > U_B_NAME='bla';
>>
>> ERROR 1064 (42000): You have an error in your SQL syntax; check
>> the manual that corresponds to your MySQL server version for the
>> right syntax to use near '[5 | 'U_B_NAME'] AS zahl FROM benutzer
>> WHERE U_B_NAME='bla'' at line 1
> Aha.
Also um "The IT Crowd" zu zitieren: Excuse me, are you from the past?
Zum Thema:
In Brackets '[]' wird in der Grammatik eine Auswahl eingefaßt, deren
Möglichkeiten mit Hochkommata eingeschlossen werden müssen, wenn es
ein String ist, oder ohne Hochkommata, wenn es ein Variablenname sein
soll.

"""[DeineUserID|'U_B_NAME']""" sagt Dir also, dass Du in die () vom
COUNT ohne Leerzeichen direkt in die Klammern entweder den String
U_B_NAME einfügen sollst, es ergibt sich """COUNT(U_B_NAME)"""; oder
den Spaltennamen der Spalte, in der die BenutzerID gespeichert ist,
commonly named "ID"; der Name ist aber bekanntlich nicht vorgeschrie-
ben, meine Spalte mit dem Primärschlüssel heißt immer 'pKey'.
Also müßte Dein alternatives Statement """COUNT(pKey)""" oder
"""COUNT(ID)""" heißen. Aber COUNT(*) geht imo nicht.

> Deine geschickte Quoting-Technik hindert den geneigten Leser daran
> festzustellen, dass auch der OP nur 'eine Spalte' zählen wollte:
Der OP sagte COUNT(*), wobei mit * _alle_ Spalten einer Tabelle aus-
gewählt werden. Hast Du nun in einer Spalte NULL -Werte und in der
gleichen Zeile in einer anderen Spalte nicht, haben wir schon unseren
Konflikt.

Christoph