toffel
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
|
<?php ....
mysql_select_db ($tabellenname,$conn);
$auslesen1 = "SELECT * FROM test1";
$auslesen2 = mysql_query($auslesen1,$conn);
while ($auslesen = mysql_fetch_array($auslesen1)) {
echo $auslesen['Name'];
}
mysql_close($conn); ?> |
|
wenn ich den code so ausführe bekomme ich
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
meine frage ist jetzt warum
danke für Hilfe
Chris Hunter
du hast keine gültige ressource ID übergeben...
schreib mal:
| php: |
1:
2:
3:
|
<?php while ($auslesen = mysql_fetch_array($auslesen2)) {
echo $auslesen['Name'];
} ?> |
|
und versuch mal beschreibende variabeln zu nehmen z.b.
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
<?php mysql_select_db ($tabellenname,$conn);
$query = "SELECT * FROM test1";
$result = mysql_query($query,$conn);
while ($data = mysql_fetch_array($result)) {
echo $data['Name'];
}
mysql_close($conn); ?> |
|
toffel
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
<?php ....
mysql_select_db ($tabellenname,$conn);
$query = "SELECT * FROM test1";
$result = mysql_query($query,$conn);
while ($data = mysql_fetch_array($result)) {
echo $data['Name'];
}
mysql_close($conn); ?>
|
|
hab das jetzt so gemacht und trotzdem kommt
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
daHooligan
dann mach mal echo $conn; mit rein und schreib mal (ohne passwörter etc,) was du $con zugewiesen hast...
toffel
| php: |
1:
2:
3:
4:
5:
6:
|
<?php $conn = @ mysql_connect($localhost,$benutzername,$passwort);
if (!$conn)
{
die ("Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db ($test1,$conn); ?> |
|
Prophet
Versuch mal anstatt der Server die DB-VErbingung zu übergeben...
toffel
versteh ich nicht
Prophet
lege in $conn anstatt mysql_connect mysql_select_db ab.
toffel
danke aber habe ich schon hinbekommen
| php: |
1:
2:
|
<?php $result = mysql_query($query,$conn)
or die(mysql_error().''); ?> |
|
jetzt geht es komischerweise ...und kommt keine meldung mehr
toffel
nochmal eine andere frage
habe mir 10 sachen ausgeben lassen
wenn ich
| php: |
1:
|
<?php echo $data ['name']; ?> |
|
mache
schreibt er mir alle 10 sachen
jetzt wollte ich das ganze in eine Variable machen um mir das später nochmal ausgeben zu lassen
| php: |
1:
|
<?php $namedata = $data ['name']; ?> |
|
wenn ich jetzt irgendwo weiter unten $namedata schreibe dann gibt er mir nur 1 namen aus. Wenn ich das ganze jetzt nicht in einer Variable mache und $namedata = $data ['name']; nehme, kommen alle 10. Gibt es da eine möglichkeit bei der Variable auch 10 ausgeben zu lassen ?
Prophet
das liegt daran wiel in der while schleife immer nur ein datensatz in der variablen data ablegt wird. wenn du also diesen datensatz in der anderen vairablen speicherst ist es klar das nur er vorhanden ist.
du musst also immer ein neues element der variablen anhängen damit sie nachher alle daten sätze enthält.
| php: |
1:
2:
3:
|
<?php
$namedata[count($namedata)] = $data['name'];
?> |
|
du musst natürlich vorher sagen das $namedata ein array ist. der quelltext obenmuss dann in der schleife stehen damit während dessen ablauf alle namen in form eines arrays in $namedata abgelegt werden.
toffel
und wenn ich mir die 10 datensätze in je einer Variable ausgeben lasse ?
und später das so läuft ?
$name1
$name2
u.s.w.
wäre das einfacher zu realisieren ? wenn ja wie ?
daHooligan
es ginge höchstens als ausgabe in ein array so wie Prophet Sa gescrieben hat...
Prophet
nein ein array ist hier um einiges sinnvoller. bei meiner version wüdest du später so auf die variablen zugreifen:
| code: |
1:
2:
3:
4:
5:
|
$namedata[0];
$namedata[1];
$namedata[2];
$namedata[3];
$namedata[4]; |
|
toffel
okay danke hat geklappt
habe nur noch ein Problem mit mein Script und zwar kommt :
Use of undefined constant time - assumed 'time'
in der Zeile
| php: |
1:
|
<?php ${timeresult.$i} = calcDiff($zeit, ${time.$i}); ?> |
|
meine Meinung nach kommt immer so ein Fehler wenn Strings nicht richtig gequotet sind oder sehe ich da was falsch ?
Prophet
time steht dort ohne dollar zeichen es versucht also eine konstante zu finden die es nicht gibt. gib time einfach das dollarzeichen welches du falsch gestzt hast.
btw: was sollen die ganzen geschweiften klammern? nimmm bitte normale klammren... die geschweiften sind nur für blocks da...
toffel
ich glaube ich habe zu wenig kopiert.
habe es jetzt so zum laufen bekommen
| php: |
1:
|
<?php ${'timeresult'.$i} = calcDiff($zeit, ${'time'.$i}); ?> |
|
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
|
<?php function calcDiff($zeit, $time) {
$timediff = $zeit - $time;
$y = intval($timediff / 31536000);
$remain = $timediff % 31536000;
$m = intval($remain / 2628000);
$remain = $timediff % 2628000;
$d = intval($remain / 86400);
$remain = $timediff % 86400;
$h = intval($remain / 3600);
$remain = $remain % 3600;
$i = intval($remain / 60);
$s = $remain % 60;
return ($y ? "$y<font color=\"#FF9900\">y</font>" : '')
.($m ? "$m<font color=\"#FF9900\">m</font> " : '')
.($d ? "$d<font color=\"#FF9900\">d</font> " : '')
.($h ? "$h<font color=\"#FF9900\">h</font> " : '')
.($i ? "$i<font color=\"#FF9900\">m</font> " : '')
."$s<font color=\"#FF9900\">s</font>";
}
for ($i = 1; $i <= 10; $i++) {
${'timeresult'.$i} = calcDiff($zeit, ${'time'.$i});
} ?> |
|
eigentlich sollte ich jetzt mit $timeresult1,$timeresult2,...,$timeresult10
alle 10 ausgelesenen time resultate bekommen
aber stattdessen kriege ich nur
Undefined variable: time1
Undefined variable: time2
...
Undefined variable: time10

und ich weiß nicht wieso
daHooligan
na ja,da fehlt ein "$" davor...
was soll sowas hier überhaupt bewirken?
| php: |
1:
|
<?php ${'time'.$i} ?> |
|
tkshorty
du solltest dir unbedingt mal durrchlesen wie mann arrys benutzt. das würde das ganze ungemein erleichtern