[php,mysql] test variable = null ??
blbg
Messages postés
302
Date d'inscription
Statut
Membre
Dernière intervention
-
PhP Messages postés 1770 Date d'inscription Statut Membre Dernière intervention -
PhP Messages postés 1770 Date d'inscription Statut Membre Dernière intervention -
bonsoir,
pour savoir si une variable est remplis,, je connait empty($..)
mais ds une requette mySQL, ...... on fait comment ..
if(
$..=null;
$..='null';
$..='';
... ???
merciiii !!
pour savoir si une variable est remplis,, je connait empty($..)
mais ds une requette mySQL, ...... on fait comment ..
if(
$..=null;
$..='null';
$..='';
... ???
merciiii !!
A voir également:
- [php,mysql] test variable = null ??
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test steam deck oled - Guide
- Test composant pc - Guide
- Test batterie pc - Guide
4 réponses
Slt blbg
Soit la table MySql test suivante :
CREATE TABLE test (
tst_lib char(20) default NULL,
tst_dat datetime NOT NULL default '0000-00-00 00:00:00',
tst_int int(11) NOT NULL default '0',
tst_enu enum('un','deux','trois') NOT NULL default 'deux',
tst_set set('a1','b1','c1') NOT NULL default ''
) TYPE=MyISAM;
Tu noteras que le champ tst_lib peut être NULL : c'est d'ailleurs sa valeur par défaut.
Si je veux tous les enregistrement pour lesquels tst_lib est NULL alors il ne faut pas écrire :
SELECT * FROM test WHERE tst_lib = NULL
A la place il faut utiliser la fct ISNULL() ou IS NULL
SELECT * FROM test WHERE ISNULL(tst_lib)
SELECT * FROM test WHERE tst_lib IS NULL
En combinant avec un NOT tu peux tester une inégalité :
SELECT * FROM test WHERE NOT ISNULL(tst_lib)
SELECT * FROM test WHERE tst_lib IS NOT NULL
Retourne tous les enregistrements où tst_lib n'est pas nulle.
Nota : tst_lib peut être une chaîne vide ce qui n'est pas la même chose !
LISEZ LES DOCS !
@+
PhP
[[ The Truth is Out There ]]
Soit la table MySql test suivante :
CREATE TABLE test (
tst_lib char(20) default NULL,
tst_dat datetime NOT NULL default '0000-00-00 00:00:00',
tst_int int(11) NOT NULL default '0',
tst_enu enum('un','deux','trois') NOT NULL default 'deux',
tst_set set('a1','b1','c1') NOT NULL default ''
) TYPE=MyISAM;
Tu noteras que le champ tst_lib peut être NULL : c'est d'ailleurs sa valeur par défaut.
Si je veux tous les enregistrement pour lesquels tst_lib est NULL alors il ne faut pas écrire :
SELECT * FROM test WHERE tst_lib = NULL
A la place il faut utiliser la fct ISNULL() ou IS NULL
SELECT * FROM test WHERE ISNULL(tst_lib)
SELECT * FROM test WHERE tst_lib IS NULL
En combinant avec un NOT tu peux tester une inégalité :
SELECT * FROM test WHERE NOT ISNULL(tst_lib)
SELECT * FROM test WHERE tst_lib IS NOT NULL
Retourne tous les enregistrements où tst_lib n'est pas nulle.
Nota : tst_lib peut être une chaîne vide ce qui n'est pas la même chose !
LISEZ LES DOCS !
@+
PhP
[[ The Truth is Out There ]]
bsoir blbg
Si tu veux savoir si une requette sql renvoie un resultat, deux solutions:
Selection:
"mysql_num_rows()"
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
?>
plus d'info...
http://www.php.net/manual/fr/function.mysql-num-rows.php
Supression, MAJ (INSERT,DELETE,UPDATE,REPLACE):
"mysql_affected_rows()"
<?php
/* connexion à la base */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die("Impossible de se connecter : " . mysql_error());
/* Ceci devrait retourner le nombre correct de lignes effacées */
mysql_query("DELETE FROM mytable WHERE id < 10");
printf ("Records deleted: %d\n", mysql_affected_rows());
/* Sans la clause WHERE, il retourne 0 */
mysql_query("DELETE FROM mytable");
printf ("Lignes effacées : %d\n", mysql_affected_rows());
?>
plus d'infos
http://www.php.net/manual/fr/function.mysql-affected-rows.php
@+
bon courage
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
Si tu veux savoir si une requette sql renvoie un resultat, deux solutions:
Selection:
"mysql_num_rows()"
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
?>
plus d'info...
http://www.php.net/manual/fr/function.mysql-num-rows.php
Supression, MAJ (INSERT,DELETE,UPDATE,REPLACE):
"mysql_affected_rows()"
<?php
/* connexion à la base */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die("Impossible de se connecter : " . mysql_error());
/* Ceci devrait retourner le nombre correct de lignes effacées */
mysql_query("DELETE FROM mytable WHERE id < 10");
printf ("Records deleted: %d\n", mysql_affected_rows());
/* Sans la clause WHERE, il retourne 0 */
mysql_query("DELETE FROM mytable");
printf ("Lignes effacées : %d\n", mysql_affected_rows());
?>
plus d'infos
http://www.php.net/manual/fr/function.mysql-affected-rows.php
@+
bon courage
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
merci asevere, mais c'était dans une requette & non si la requette, est null .... mais ça me servira qd même !! ;o)
sinon ... il y avais un truc qui me disait qqe chose .... : IS NULL, IS NOT NULL ....
et effectivement, j'ai retrouvé le passage où il l'indiquait....
j'ai testé et ça marche à merveille, pour savoir si ds une table, une valeur est null ou non !!
merci qd même !
sinon ... il y avais un truc qui me disait qqe chose .... : IS NULL, IS NOT NULL ....
et effectivement, j'ai retrouvé le passage où il l'indiquait....
j'ai testé et ça marche à merveille, pour savoir si ds une table, une valeur est null ou non !!
merci qd même !