query voor lege tabel controleren
niek s
09/08/2006 17:43:00Hi mensen,
is er een query om te kijken of mijn (mysql) tabel leeg is of niet...
en dan 1 commando, want ik kan het ook zo doen:
Wat simpeler, in 1 commando, een oplossing?
MvG,
Niekkk
is er een query om te kijken of mijn (mysql) tabel leeg is of niet...
en dan 1 commando, want ik kan het ook zo doen:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$sql = "SELECT * FROM tabel";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) == 0) {
echo "tabel is leeg";
} else {
echo "tabel is niet leeg";
}
?>
$sql = "SELECT * FROM tabel";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) == 0) {
echo "tabel is leeg";
} else {
echo "tabel is niet leeg";
}
?>
Wat simpeler, in 1 commando, een oplossing?
MvG,
Niekkk
PHP hulp
17/11/2024 17:49:07Willem Jan Z
09/08/2006 18:01:00Sowieso zal je natuurlijk de query moeten uitvoeren en het resultaat uitlegen, het enige wat korter wordt is de else.
Maar dit zou denk ik wel werken:
Netjes is anders, maar ik denk niet dat het korter kan.
Maar dit zou denk ik wel werken:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if(mysql_result(mysql_query("SELECT COUNT(*) FROM tabel;"),0) > 0)
{
echo 'Niet leeg';
}
else
{
echo 'Leeg';
}
?>
if(mysql_result(mysql_query("SELECT COUNT(*) FROM tabel;"),0) > 0)
{
echo 'Niet leeg';
}
else
{
echo 'Leeg';
}
?>
Netjes is anders, maar ik denk niet dat het korter kan.
niek s
09/08/2006 18:05:00maar het is dus niet zo dat er een commando voor is? zoals: TRUNCATE? SELECT? DESCRIBE? enz..
dus een commando zoals:
EMPTY ofzo?
dus een commando zoals:
EMPTY ofzo?
Frank -
09/08/2006 19:24:00De if/else kun je met een CASE opnemen in de query. Het zal dan zo iets worden:
Edit: Getest en goedgekeurd!
Edit 2: Met een alias is altijd handiger...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT
CASE
WHEN COUNT(*) > 0 THEN 'Niet leeg'
ELSE 'leeg'
END AS inhoud
FROM
tabel
CASE
WHEN COUNT(*) > 0 THEN 'Niet leeg'
ELSE 'leeg'
END AS inhoud
FROM
tabel
Edit: Getest en goedgekeurd!
Edit 2: Met een alias is altijd handiger...
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Willem Jan Z
09/08/2006 19:33:00Je hebt het getest, dus het zal wel niet kloppen :P Maar moet het niet END CASE zijn?
Dus:
END CASE AS inhoud
Dus:
END CASE AS inhoud
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Frank -
09/08/2006 19:38:00@Willem-Jan: Hier getest met END en dat werkt perfect. Ik ben bekend met END CASE, maar dat levert bij mij een fraaie error op.
@Niek: Kijk ook eens naar http://mysql.com/doc/refman/4.1/en/show-table-status.html Dan krijg je met 1 simpele query een hele berg informatie retour.
@Niek: Kijk ook eens naar http://mysql.com/doc/refman/4.1/en/show-table-status.html Dan krijg je met 1 simpele query een hele berg informatie retour.