PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » [Résolu] PB insert ' » 22-05-2009 14:05:51

Merci pour vos réponses.

Le champ de la table est bien défini pour pouvoir accepter des valeurs null (j'ai posté trop vite mon précédent message).

Pour tester, j'ai recréé la table sous Mysql, le problème ne se présente pas avec ce SQBG (je travaille sous SQLSERVER).

Les solutions que vous m'avez présentées fonctionnent (remplacer par null ou PDO) ; je dois très certainement avoir un pb de config quelque-part.

A+

#2 Re : Forum Général PHP » [Résolu] PB insert ' » 22-05-2009 14:05:51

merci de ta réponse.

Ci-dessous un script de test qui présente le pb :

CREATE TABLE TABLE_TEST(
    CHAMP1 varchar(10)
)

<html>
<body>

<?php

$host = "LOCALHOST";
$user ="root";
$password = "";
$base = "TEST";

$conn= mssql_connect($host,$user,$password);
$db=mssql_select_db('TEST',$conn);

$result=mssql_query("INSERT INTO TABLE_TEST (CHAMP1) VALUES ('')",$conn);

$sql=mssql_query("SELECT CHAMP1 FROM TABLE_TEST",$conn);

$i=0;
while($row=mssql_fetch_array($sql)){

    echo '<input type="text" name="val_'.$i.'" id="val_'.$i.'" value="'.$row['CHAMP1'].'"><br>';
   
    $i++;
   
}
       
?>

</body>
</html>

Sauf erreur de ma part j'enregistre '' et ne devrait donc pas avoir un espace à la place dans le value de l'input.

Encore merci.
+

#3 Forum Général PHP » [Résolu] PB insert ' » 22-05-2009 14:05:51

rob_57
Réponses : 5

Bonjour à tous,

j'utilise le script ci-dessous pour enrichir une table :

$result=mssql_query("INSERT INTO TABLE_TEST  (NOM) VALUES ('".$_POST['val']."')",$conn);

ou $_POST['val'] est un input de type text.

L'enregistrement se passe correctement, cependant quand je réaffecte la valeur enregistrée dans un input, value prend la valeur ' ' et non '' (présence d'un espace si lors de l'enregistrement  rien n'était saisi dans l'input):

<input type="text" name="val" id="val" value=" ">
au lieu de
<input type="text" name="val" id="val" value="">

J'ai testé la requête ci-dessous qui me donne le même résultat (le pb ne provient donc pas de ma variable) :
$result=mssql_query("INSERT INTO TABLE_TEST  (NOM) VALUES ('')",$conn);

Si lors de l'enregistrement je test la valeur de $_POST['val'] que je remplace par null si vide, le problème ne se pose pas.

Avez-vous une explication à m'apporter sur ce fonctionnement?

En vous remerciant par avance.
+

Pied de page des forums

Propulsé par FluxBB