mmofacts.com

Bin ich total dumm?

gepostet vor 18 Jahre, 9 Monate von Kapsonfire
include("connect.php");

$ressourcen = mysql_query("SELECT * FROM res");
echo mysql_num_rows($ressourcen);
?>


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmexammp\xampp\htdocs\Schulkriege\add.php on line 4




hab den code mal so klein wie möglich gemacht.......

mit jeder anderen table geht das........ der quellcode funzt aber in phpmyadmin -.-
alles richtig geschrieben..... wieso geht das nicht?!?
gepostet vor 18 Jahre, 9 Monate von neit
Die Tabelle ist leer.
gepostet vor 18 Jahre, 9 Monate von Kapsonfire
hier der dump:
-- phpMyAdmin SQL Dump
-- version 2.7.0-pl1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 30. März 2006 um 17:06
-- Server Version: 5.0.18
-- PHP-Version: 5.1.1
--
-- Datenbank: `schulkriege`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `res`
--

CREATE TABLE `res` (
`user` varchar(50) collate latin1_general_ci NOT NULL,
`energie` int(50) NOT NULL,
`wasser` int(50) NOT NULL,
`wissen` int(50) NOT NULL,
`nahrung` int(50) NOT NULL,
PRIMARY KEY (`user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

--
-- Daten für Tabelle `res`
--

INSERT INTO `res` VALUES ('bla', 0, 0, 0, 0);






--> schlussfolgerung: ist nciht leer!

-----------------------------------------

ok habs auf dem webserver da geht es ohne probleme -.-
trotzdem würd ich wissen woran das liegt -.-

Edit By Riston: Ich sag nicht zum Spaß keine Doppelposts...
gepostet vor 18 Jahre, 9 Monate von TheUndeadable
> Die Tabelle ist leer.

Siehe oben!
gepostet vor 18 Jahre, 9 Monate von Kapsonfire
Original von TheUndeadable
> Die Tabelle ist leer.

Siehe oben!

lern lesen siehe den dump den ich gepostet hab und verstehe das die table nciht leer ist!
gepostet vor 18 Jahre, 9 Monate von woodworker
ich tippe auf keine/die falsche db ausgewählt

selbst wenn die tabelle leer wäre würde es nen mysql result bekommen


und nur um mal auf deine frage vom anfang einzugehen: Ja
gepostet vor 18 Jahre, 9 Monate von Kampfhoernchen
Ich würde Prüfen, ob $ressourcen ungleich False ist.
gepostet vor 18 Jahre, 9 Monate von Macavity
also so etwa:

include("connect.php");

$ressourcen = mysql_query("SELECT * FROM res");
if($ressourcen){
echo mysql_num_rows($ressourcen);
}
gepostet vor 18 Jahre, 9 Monate von Kampfhoernchen
Mir persönlich besser gefällt:

 

include("connect.php");
$ressourcen = mysql_query("SELECT * FROM res");
if($ressourcen != false){
echo mysql_num_rows($ressourcen);
}

Find ich lesbarer, is aber Geschmackssache.

Zur Titel-Frage: Ich kann das Gegenteil leider nicht beweisen.
gepostet vor 18 Jahre, 9 Monate von Magic007
mais moi...
antwort: JA

klappt es jetzt?
gepostet vor 18 Jahre, 9 Monate von Kapsonfire
Original von woodworker
ich tippe auf keine/die falsche db ausgewählt

selbst wenn die tabelle leer wäre würde es nen mysql result bekommen


und nur um mal auf deine frage vom anfang einzugehen: Ja


es ist die richtige db......
andere tables gehen ja nur die nicht!
gepostet vor 18 Jahre, 9 Monate von weltenraum
Teste das mal bitte:
		$query="SELECT * FROM `res`";

$result = mysql_query($query,$conn);
if ((!$result) or (empty($result)))
{
echo("Kein Ergebnis: ".$query);
}

Vielleicht fehlt ja nur das $conn zur DB?
gepostet vor 18 Jahre, 9 Monate von Kapsonfire
Original von weltenraum
Teste das mal bitte:
		$query="SELECT * FROM `res`";

$result = mysql_query($query,$conn);
if ((!$result) or (empty($result)))
{
echo("Kein Ergebnis: ".$query);
}

Vielleicht fehlt ja nur das $conn zur DB?



nein!
ich habe die connection schon lange aufgebaut..... auf dem webserver eght es ja.... und wenn es an conn liegen würde , hätten die andern tables nicht funktioniert
gepostet vor 18 Jahre, 9 Monate von Macavity
vielleicht gibst du uns doch nochmal kurz infos was genau denn nun nicht funzt... auf dem webserver geht es doch wie du gesagt hast...

wo war dann das problem? lokal? und gib uns einen größeren ausschnitt des Scripts kann ja sein dass der fehler woanders liegt.
gepostet vor 18 Jahre, 9 Monate von Kapsonfire
das ist der complette script....^^
da gibt nich weiteres...... und ka wo das prob ist ich benutze xammp
gepostet vor 18 Jahre, 9 Monate von TheUndeadable
echo ( mysql_error() );
gepostet vor 18 Jahre, 9 Monate von Fornax
Evtl liegt es am Gravis (`), dass du mit einem Apostroph (') oder Anführungszeichen (") verwechselt hast :roll:

Aber auf jeden Fall würde ich (wie TheUndeadable sagte) überprüfen, ob ein mysql_error vorliegt. Das könnte passieren, wenn du in der einen DB die Tabelle groß, auf der anderen klein geschrieben hast. Also z.B. lokal "Res" und auf dem Server "res"

Edit: du kannst dir das hier mal durchlesen, das zeigt schnell den "unsichtbaren" Unterschied von ´' und ".
gepostet vor 18 Jahre, 9 Monate von Eckstoss
Schon mal so Versucht ??

 

$query = mysql_query("SELECT * FROM res");
echo mysql_error();
if((!$query) OR (empty($query)))
{
echo "
Kein Treffer gelandet
";

}
?>
gepostet vor 18 Jahre, 9 Monate von Macavity
bitte? ich hab noch niemanden gesehen (gar nie niemanden) der «OR» in php einsetzt...geht das überhaupt?
gepostet vor 18 Jahre, 9 Monate von Skyrunner
Ich kenne nur && (AND) sowie || (OR)
gepostet vor 18 Jahre, 9 Monate von Sarge
http://de2.php.net/manual/de/language.operators.php

Ja es scheint es zu geben.. allerdings ist nirgends rauszufinden ob das nun faules oder ist oder striktes... wenn strikt solltest du lieber das faule nutzen ( || ) .. kann ne menge performance sparen. ( Falls PHP den unterschied zwischen faul und strikt überhaupt kennt.. die Doku ist ja nicht gerade toll da)
gepostet vor 18 Jahre, 9 Monate von woodworker
es geht beides AND && sowie OR ||
aber ich mag || und &
gepostet vor 18 Jahre, 9 Monate von TheUndeadable
> Falls PHP den unterschied zwischen faul und strikt überhaupt kennt.. die Doku ist ja nicht gerade toll da

Ja, PHP kennt den Unterschied.

Noch nicht folgende Zeile gesehen?

mysql_query ( $szQuery ) || die ( 'Fehlgeschlagen' );

Finde ich außerordentlich hässlich, findet sich aber immer wieder.
gepostet vor 18 Jahre, 9 Monate von Macavity
OT: und wieder was dazugelernt... auch wenn ich es wohl trotzdem nicht einsetzen würde....
gepostet vor 18 Jahre, 9 Monate von Kampfhoernchen
Buaahhh. Da zieht sich mir alles zusammen.

AND und OR gehen in PHP, haben die gleiche funktion wie &&, ||, ich setze aber lieber && und || ein, da für mich AND und OR für MySQL reserviert sind.
gepostet vor 18 Jahre, 9 Monate von BLUESCREEN
Es gibt einen Unterschied zwischen z.B. && und and in PHP: http://de.php.net/manual/en/language.operators.php#language.operators.precedence

Normalerweise setzt man zwar so viele Klammern, dass alles eindeutig ist, aber ich würde in PHP auch nicht and usw. benutzen.

BTW: In C++ gibt es auch Alternative Namen für die Operatoren, aber da bedeuten diese im Gegensatz zu denen in PHP das selbe wie die ursprünglichen Operatoren.
gepostet vor 18 Jahre, 9 Monate von Crafty-Catcher
Wenn man aber nur AND und OR verwendet so wie ich jahrelang dann macht das keinen Unterschied.
Hab mich aber mitlerweile umgeöhnt auf && und ||

Auf diese Diskussion antworten