Machine klaagt bij het gebruik van sommige mysql_ commands
Bij het gebruik van
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
while($row = mysql_fetch_assoc($today_output)) {
echo $row["ip"];
echo $row["date"];
}
mysql_free_result($today_output);
?>
while($row = mysql_fetch_assoc($today_output)) {
echo $row["ip"];
echo $row["date"];
}
mysql_free_result($today_output);
?>
ontvang ik
Code (php)
1
2
3
2
3
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\query.php on line 18
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\query.php on line 23
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\query.php on line 23
Enige idee waaraan het ligt?
Quote:
Topic verplaatst.
SanThe.
SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Sandy Cohen
het is overigens:
Code (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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if ($link_identifier = mysql_connect()) {
if(!mysql_select_db('<datbase>')) {
echo 'database kan niet geselecteerd worden';
}
}
if ($link_identifier) {
$sql = "<sql statement>"
if ($result = mysql_query($sql))
while ($row = mysql_fetch_assoc($result)) {
print_r($row,true);
}
}
else {
echo mysql_error().' <br />';
echo $sql;
}
}
else {
echo 'Geen database connectie';
}
?>
if ($link_identifier = mysql_connect()) {
if(!mysql_select_db('<datbase>')) {
echo 'database kan niet geselecteerd worden';
}
}
if ($link_identifier) {
$sql = "<sql statement>"
if ($result = mysql_query($sql))
while ($row = mysql_fetch_assoc($result)) {
print_r($row,true);
}
}
else {
echo mysql_error().' <br />';
echo $sql;
}
}
else {
echo 'Geen database connectie';
}
?>
Zoeken naar de foutmelding wil ook nog wel is helpen:
klik hier
Gewijzigd op 01/01/1970 01:00:00 door Noppes
Script komt foutloos door de engine, alleen $sql geeft geen result weer.
Tja het is pseudo voorbeeld script dus wat heb je er van gebakken?
Gewijzigd op 01/01/1970 01:00:00 door Sandy Cohen
post de relevante code
En stel je zelf de volgende vragen:
zitten er wel gegevens in de tabel waaruit ik gegevens wil selecteren
geeft mijn query wel resultaten terug als ik een where clause toepas
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
echo "There users have created an account today:<br />";
mysql_select_db('logon', $con);
$sql = mysql_query("SELECT * FROM logger");
while($result = mysql_fetch_array($sql)){
echo $result['user'];
echo " ";
echo $result['ip'];
echo " ";
echo $result['date'];
echo " <br />";
}
?>
echo "There users have created an account today:<br />";
mysql_select_db('logon', $con);
$sql = mysql_query("SELECT * FROM logger");
while($result = mysql_fetch_array($sql)){
echo $result['user'];
echo " ";
echo $result['ip'];
echo " ";
echo $result['date'];
echo " <br />";
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if (mysql_num_rows($sql)>0) {
while($result = mysql_fetch_array($sql)){
}
}
else {
echo 'Geen gevens in tabel aanwezig...';
}
?>
if (mysql_num_rows($sql)>0) {
while($result = mysql_fetch_array($sql)){
}
}
else {
echo 'Geen gevens in tabel aanwezig...';
}
?>
En wees niet zo eigenwijs om die foutafhandeling achterwege te laten.
btw, is er ook de mogelijkheid om elk rijtje alleen te echo-en, als de waarde in kolom 'date' gelijk is aan $date (date();)
en
is er ook de mogelijkheid om elk rijtje alleen te echo-en, als de waarde in kolom 'date' gelijk is aan $date (date();)
los je op met ene where clause
bedankt
het is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT *
FROM logger
WHERE date = CURDATE()";
if ($result = mysql_query($sql)) {
// resultaat doorlopen en tonen
}
else {
// foutafhadenling!
}
?>
$sql = "SELECT *
FROM logger
WHERE date = CURDATE()";
if ($result = mysql_query($sql)) {
// resultaat doorlopen en tonen
}
else {
// foutafhadenling!
}
?>
overigens is date niet een veldnaam welke aan te bevelen is, dat neigt namenlijk naar gereserveerd woord
zie: http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html
Ik denk dat je er verstandiger aan doet eerst wat tuts door te nemen........
http://www.phphulp.nl/php/tutorials/
Quote:
Gebruik dan ook geen MySQL, een nog veel slechtere database zul je niet tegenkomen! Dramabase is dan ook een beter begrip...Machine klaagt bij het gebruik van sommige mysql_ commands
Installeer een betrouwbare database op je pc en je hebt al veel minder problemen. Kijk eens naar PostgreSQL, Firebird of weet ik veel wat, alles is beter dan de brakke ellende waar je nu mee werkt.
Wil niet zeggen dat je niets aan foutafhandeling hoeft te doen. Sterker nog, andere databases zullen bij fouten in jouw SQL veel meer (bruikbare) foutmeldingen opleveren dan MySQL! MySQL verneukt jouw data en/of resultaten zonder jou daarvan op de hoogte te stellen...
@Noppes: CURDATE() mag je vervangen door CURRENT_DATE, dat werkt ook met andere databases.