Pb requete mysql = false mais vrai en php !!!
Résolu
MoKaLux
-
MoKaLux -
MoKaLux -
Bonjour,
Après beaucoup de recherches je ne trouve pas et ne vois pas d'où vient le pb.
Je vais essayer de faire court.
J'ai une table mysql Questions :
id(INT) username(VARCHAR64) text(TEXT)
Ensuite avec PHP je regarde si text="" et dans ce cas j'efface la ligne et je stocke le resultat dans une variable $GLOBAL.
Le code php :
$sqltabletest = 'SELECT id FROM Questions WHERE text = ""';
if (mysqli_query($link, $sqltabletest))
{
$sqlcleaning = 'DELETE FROM Questions WHERE text = ""';
if (!mysqli_query($link, $sqlcleaning))
{
$output = 'Error cleaning table Questions : ' . mysqli_error($link);
include 'xx_output.html.php';
exit();
}
$GLOBALS['myMessageDb'] = 'table Questions successfully cleaned';
}
MON PROBLEME VIENT DU FAIT QUE $GLOBALS EST TOUJOURS ACTIVE ET QUE LE IF EST TOUJOURS VRAI MEME SI MA REQUETE EST FAUSSE !!!
LORSQUE JE TESTE MA REQUETE DANS MYSQL IL ME RETOURNE BIEN 0.
Pouvez-vous m'éclairer svp.
Après beaucoup de recherches je ne trouve pas et ne vois pas d'où vient le pb.
Je vais essayer de faire court.
J'ai une table mysql Questions :
id(INT) username(VARCHAR64) text(TEXT)
Ensuite avec PHP je regarde si text="" et dans ce cas j'efface la ligne et je stocke le resultat dans une variable $GLOBAL.
Le code php :
$sqltabletest = 'SELECT id FROM Questions WHERE text = ""';
if (mysqli_query($link, $sqltabletest))
{
$sqlcleaning = 'DELETE FROM Questions WHERE text = ""';
if (!mysqli_query($link, $sqlcleaning))
{
$output = 'Error cleaning table Questions : ' . mysqli_error($link);
include 'xx_output.html.php';
exit();
}
$GLOBALS['myMessageDb'] = 'table Questions successfully cleaned';
}
MON PROBLEME VIENT DU FAIT QUE $GLOBALS EST TOUJOURS ACTIVE ET QUE LE IF EST TOUJOURS VRAI MEME SI MA REQUETE EST FAUSSE !!!
LORSQUE JE TESTE MA REQUETE DANS MYSQL IL ME RETOURNE BIEN 0.
Pouvez-vous m'éclairer svp.
A voir également:
- Pb requete mysql = false mais vrai en php !!!
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Mysql error 2002 ✓ - Forum Linux / Unix
3 réponses
Pourquoi tu ne fait pas que cette requete ?
mysqli_query($link, "DELETE FROM Questions WHERE text = ''");
merci j'ai trouvé une soluce :
$sqlcleaningtest = "SELECT COUNT(*) FROM Questions WHERE text='' AND imagepath=''";
$result = mysqli_query($link, $sqlcleaningtest);
if (!$result)
{
$GLOBALS['myMessageDb'] = 'Error searching for questions.';
}
$row = mysqli_fetch_array($result);
if ($row[0] > 0)
{
// return TRUE;
// la table needs some cleaning
$sqlcleaning = "DELETE FROM Questions WHERE text = '' AND imagepath = ''";
if (!mysqli_query($link, $sqlcleaning))
{
$output = 'Error cleaning table Questions. ' . mysqli_error($link);
include 'xx_output.html.php';
exit();
}
$GLOBALS['myMessageDb'] = 'table Questions successfully cleaned';
header('Location: .');
}
$sqlcleaningtest = "SELECT COUNT(*) FROM Questions WHERE text='' AND imagepath=''";
$result = mysqli_query($link, $sqlcleaningtest);
if (!$result)
{
$GLOBALS['myMessageDb'] = 'Error searching for questions.';
}
$row = mysqli_fetch_array($result);
if ($row[0] > 0)
{
// return TRUE;
// la table needs some cleaning
$sqlcleaning = "DELETE FROM Questions WHERE text = '' AND imagepath = ''";
if (!mysqli_query($link, $sqlcleaning))
{
$output = 'Error cleaning table Questions. ' . mysqli_error($link);
include 'xx_output.html.php';
exit();
}
$GLOBALS['myMessageDb'] = 'table Questions successfully cleaned';
header('Location: .');
}