Meerder selects in een query?
hallo phper's,
ik heb een vraagje. Ik heb de volgende query gemaakt:
ik heb deze query getest in phpmyadmin en die gaf mij een keurig resultaat. alleen als ik deze query probeer uittevoeren in php dan geeft die aan:
query was empty.
mijn vraag is kan mijn query eigenlijk wel?
ik heb een vraagje. Ik heb de volgende query gemaakt:
Code (php)
1
$sql = mysql_query("SELECT CURRENT_DATE(); SELECT *, DATEDIFF(CURRENT_DATE(),datweg) AS diff FROM siteinfo");
ik heb deze query getest in phpmyadmin en die gaf mij een keurig resultaat. alleen als ik deze query probeer uittevoeren in php dan geeft die aan:
query was empty.
mijn vraag is kan mijn query eigenlijk wel?
De ; wordt beschouwd als een statement seperator en mysql_query begrijpt dat niet!
Dat kan alleen als je multi_query gebruikt.
Maar waaom niet:
SELECT CURRENT_DATE() as huidgedatum
, DATEDIFF(CURRENT_DATE(),datweg) AS diff
FROM siteinfo
En je doet er verstandiger aan om sql-statement in een apparte var te voeren aan mysql_query, mocht er dan wat fout gaan kan je op simpele wijze je sql-statement + de error echoen.
Note:
PHP Admin is een tool, welke op de achtergrond zaken doet welke jij niet verwacht. Zoals in dit geval het detecteren van multi statement.
Dat kan alleen als je multi_query gebruikt.
Maar waaom niet:
SELECT CURRENT_DATE() as huidgedatum
, DATEDIFF(CURRENT_DATE(),datweg) AS diff
FROM siteinfo
En je doet er verstandiger aan om sql-statement in een apparte var te voeren aan mysql_query, mocht er dan wat fout gaan kan je op simpele wijze je sql-statement + de error echoen.
Note:
PHP Admin is een tool, welke op de achtergrond zaken doet welke jij niet verwacht. Zoals in dit geval het detecteren van multi statement.
Gewijzigd op 01/01/1970 01:00:00 door Noppes
bedankt voor je reactie maar door die query krijg ik:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #4' at line 1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #4' at line 1
Laat eens een stukje code zien. Je voert de query waarschijnlijk 2 keer uit.
hier is heel de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
include "dbconnect.php";
$sql = mysql_query("SELECT CURRENT_DATE(); SELECT *, DATEDIFF(CURRENT_DATE(),datweg) AS diff FROM siteinfo");
$result = multi_query($sql) or die(mysql_error());
while($rij = mysql_fetch_array($result)){
$datweg=$rij['4'];
echo $datweg;
}
?>
include "dbconnect.php";
$sql = mysql_query("SELECT CURRENT_DATE(); SELECT *, DATEDIFF(CURRENT_DATE(),datweg) AS diff FROM siteinfo");
$result = multi_query($sql) or die(mysql_error());
while($rij = mysql_fetch_array($result)){
$datweg=$rij['4'];
echo $datweg;
}
?>
En waar o waar is de function multi_query !! Als je deze niet zelf gemaakt hebt dan gaat php zo ie zo al mekken over het feit dat ie deze functie niet kan vinden
Dan maar een verwijzing
multi_query
Dus voortaan wel ever verder kijken dan dat je neus lang is.
En je bent ook nog stront eigenwijs ook, wat is er mis met:
SELECT CURRENT_DATE() as huidgedatum
, DATEDIFF(CURRENT_DATE(),datweg) AS diff
FROM siteinfo
want die kan je gewoon met mysql_query uitvoeren, en komt in feite op hetzelfde neer als dat wat je nu poogt te doen!
Gebruik ipv mysql_fetch_array de mysql_fetch_assoc...
Alle andere mysql fetch methoden kan je in de prullebak gooien, deze zijn namenlijk niet efficient in gebruik.
Zet ook eens bovenaan je script(s):
Oh, en negeer vooral niet wat er aan tips en aanwijzigen wordt gepost.
Dan maar een verwijzing
multi_query
Dus voortaan wel ever verder kijken dan dat je neus lang is.
En je bent ook nog stront eigenwijs ook, wat is er mis met:
SELECT CURRENT_DATE() as huidgedatum
, DATEDIFF(CURRENT_DATE(),datweg) AS diff
FROM siteinfo
want die kan je gewoon met mysql_query uitvoeren, en komt in feite op hetzelfde neer als dat wat je nu poogt te doen!
Gebruik ipv mysql_fetch_array de mysql_fetch_assoc...
Alle andere mysql fetch methoden kan je in de prullebak gooien, deze zijn namenlijk niet efficient in gebruik.
Zet ook eens bovenaan je script(s):
Oh, en negeer vooral niet wat er aan tips en aanwijzigen wordt gepost.




