Ich berstehe es nicht--- Problem bei Abfrage:

Ich verstehe es nicht— Problem bei Abfrage:

Mein Quellcode: [php]

<?php $link = mysql_connect('localhost', 'root', '********'); if (!$link) { die('keine Verbindung möglich: ' . mysql_error()); } echo 'Verbindung erfolgreich'; $db_selected = mysql_select_db('chrigi', $link); if (!$db_selected) { die ('Kann Chrigi nicht benutzen : ' . mysql_error()); } echo "Benutze Chrigi"; $abfrage = "SELECT id,vorname,name,age,mail,sex,ort FROM login"; $abfragen = mysql_query($abfrage); $row = mysql_fetch_assoc($abfrage) OR die(mysql_error()); echo $row['name'] ?>

[/php]
Meine Ausgabe:

Verbindung erfolgreichBenutze Chrigi
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Testumgebung\xampp\htdocs\schlaepfer.li\includes\mysqlconnect.php on line 15

Waruuuum?? ich verstehe es nicht! Auch wenn ich mysql_row() oder mysql_fetch_array() nehme!!!
Weiss Jemand warum, und kann das Jemand beheben?
Thx im voraus!

versuch es mal so:
[php]
$row = mysql_fetch_assoc($abfragen) OR die(mysql_error());
[/php]

[php]

<?php echo $row['name'] ?>

[/php]

fällt dir da was auf?

Nils aka XraYSoLo

Danke an beide!!

ich weiß, ist schon älter genau gesagt 5 Tage, aber ich würde so ein script so schreiben:

[PHP]

<?PHP $link = mysql_connect('localhost', 'root', '********') OR die(mysql_error()); mysql_select_db('chrigi', $link) OR die(mysql_error()); $abfrage = "SELECT * FROM login"; $abfragen = mysql_query($abfrage); $row = mysql_fetch_assoc($abfrage) OR die(mysql_error()); echo $row['name']; ?>

[/PHP]

Also deins ist ´schon auch gut, aber in den paar Jahren programmieren habe ich gelernt vorallem bei MySQL auf geschwindigkeit zu achten.

Dieses Script hat genau den FUnktionsumfang von deinem, lediglich wird es schneller durchlaufen.

Worauf man allgemein achten sollte ist, dass man pro Seite maximal 8-10 queries durchlaufen lässt, und bei Abfragen immer die einzelnen Spalten angibt, das hast du auch Prima gemacht. Aber da es jetzt schon wieder soviele sind, wäre ein * für alle wiederum schneller.

Wie man die schnelligkeit püfen kann?

setzt dein komplettes script in eine for schleife die 18000 mal durchlaufen wird. Setze am anfang des Documentes

[PHP]
$startzeit = microtime();
[/PHP]

und am ende
[PHP]
echo microtime() - $startzeit;
[/PHP]

Ich hoffe die allgemeine Information hat dir geholfen.