Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[Funktion] mysql_result(), Problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Funktion] mysql_result(), Problem


 
Blackbox
05-07-2008, 05:59 
 
Hi,

ich habe ein kleines Abfragesysten geschrieben.
Die Ausgabe ist auch korrekt.
Dennoch erscheint immer eine Fehlermeldung.

Hier ist der Code:
<?php
error_reporting(0);

include 'config.php';
$db_link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);

mysql_select_db(MYSQL_DATABASE);
$uidsql = ("SELECT `Userid` FROM `sessions`");
$uidact = mysql_query($uidsql) OR die(mysql_error());
$uidactual_result = mysql_result($uidact, 0);

$sessnum = mysql_num_rows($uidact);
echo 'User';

for($i = 0; $i <= $sessnum; $i++){
$usql = ("SELECT `Username` FROM `users` WHERE `ID` = '".($uidactual_result+$i)."'");
$uact = mysql_query($usql) OR die(mysql_error());

//Hier scheint was nicht zu stimmen ?_?
$usql_result = mysql_result($uact, 0); //Line 18


echo ' '.$usql_result.' ';
}
echo 'ist online';
?>

Und hier ist die gesamte Bildschirmausgabe:
"User df srf sdf dgwr vsrfv srfsc
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in ... on line 18
ist online"

Ich würde mich sehr über Hilfe freuen.
Konkrete Hilfe. Ich werde aus den Erklärungen
anderswo nicht schlau. :confused:

mfg,
Blackbox

PS: df srf sdf dgwr vsrfv srfsc, sind ganz normale DB Einträge :>
Ich wollte mir so spät keine besseren Testnamen ausdenken.

 
UzumakiNaruto
05-07-2008, 09:54 
 
Original geschrieben von Blackbox

$usql_result = mysql_result($uact, 0); //Line 18



entferne doch mal die ", 0"

 
Blackbox
05-07-2008, 11:58 
 
Hi,

ich habe schon so einiges probiert,
mal die Null zu entfernen(was ein Syntaxfehler ist,
so verzweifelt war ich schon).

Fall es relevant sein sollte:
Der Datenbankaufbau:
Tabelle: sessions
Spalten:
ID INT KEY
Dann kommt Userid VARCHAR(30)

Tabelle: users
Spalten:
ID INT KEY
und Username VARCHAR(30)

"User

Warning: Wrong parameter count for mysql_result() in ... on line 18

Warning: Wrong parameter count for mysql_result() in ... on line 18

Warning: Wrong parameter count for mysql_result() in ... on line 18

Warning: Wrong parameter count for mysql_result() in ... on line 18

Warning: Wrong parameter count for mysql_result() in ... on line 18

Warning: Wrong parameter count for mysql_result() in ... on line 18

Warning: Wrong parameter count for mysql_result() in ... on line 18

ist online"

Das Problem besteht weiterhin. :(

mfg,
Blackbox

 
TobiaZ
05-07-2008, 12:45 
 
Warum deaktivierst du das error-reporting??? :teach:

Vielleicht solltest du zuerst die Anzahl der Zeilen überprüfen, bevor du blind auf eine evtl. nicht vorhandene Zeile zugreifst.

Imho macht mysql_result in deinem Fall mit einem dritten parameter auch mehr Sinn, ansonsten tuts ein mysql_fetch_assoc() genauso gut.

for($i = 0; $i <= $sessnum; $i++){
$usql = ("SELECT `Username` FROM `users` WHERE `ID` = '".($uidactual_result+$i)."'");
$uact = mysql_query($usql) OR die(mysql_error());
BÖSE!!! Wie viele Queries willst du denn da absetzen? Warum reicht hier eine nicht?

Warum machst du nicht einen sauberen JOIN, dann kannst du mittels simpler schleife alle User ausgeben, die "online" sind.

 
Blackbox
05-07-2008, 13:28 
 
Hi,

ich habe es jetzt ändern wollen.
Aber könnt ihr bitte einem ... helfen?
Ich habe jetzt prima ne JOIN Abfrage erstellt.

Aber mysql_result zickt immer noch rum.
Ich weis nicht welche Parameter dort hinein sollen,
und warum wieviele.
Ich kapiere die Erklärungen im Netz nicht.

Ich wäre für weiterführende Hilfe
undendlich Dankbar.
Vor allem wenn es mehr ist als ein Link zu nem Tutorial,
dass unverständlich ist.

mfg,
Blackbox

 
TobiaZ
05-07-2008, 13:33 
 
Aber mysql_result zickt immer noch rum. brauchst du jetzt auf gar keinen Fall mehr. Die alternative habe ich dir bereits genannt.

Ich weis nicht welche Parameter dort hinein sollen,
und warum wieviele. Das stünde im Manual.

Ich kapiere die Erklärungen im Netz nicht. Kapier ich nicht, sagt recht wenig aus. Stell konkrete Fragen, dann bekommst du konkrete Antworten. Was und warum kapierst du nicht?

Vor allem wenn es mehr ist als ein Link zu nem Tutorial, dass unverständlich ist. Fertigen Code oder so gibt es hier generell nicht. Das ist ein simples Grundlagenproblem, bei dem du noch nichtmal die ersten eigenen Ansätze geliefert hast. Warum sollen wir deine Probleme lösen.

Hilfe zur Selbsthilfe, heißt das Motto! ;)

Versuch dich einfach mal mit der standard-lösung a la mysql_fetch_assoc().

 
Blackbox
05-07-2008, 21:02 
 
Hi,

vielen Dank für deinen Hinweis :)
Der Hinweis, dass diese Qualität der Programmierung
zu Wünschen übrig lässt hat mir zu denken gegeben.
Und mich dazu bewegt, mich vor ein PHP Buch zu hocken ;)

Übrigens: for($i = 0; $i <= $sessnum-1 ; $i++){
hat ausgereicht.

mfg,
Blackbox

 
TobiaZ
06-07-2008, 14:05 
 
Übrigens: for($i = 0; $i <= $sessnum-1 ; $i++){ hat ausgereicht. Damit setzt du immer noch X Queries ab, obwohl eine einzige reichen würde.

Fazit: Das Buch war bist jetzt Verschwendung. ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:07 Uhr.