Comment résoudre Undefined index: Avis lors de l'affichage de la valeur de la database récupérée en PHP

Je reçois un avis d'index indéfini, mais je n'arrive pas à find une solution.

Voici le code qui génère l'erreur:

<?php include 'dbconfig.php'; $id; if(isset($_POST['Tid'])) { $id=$_POST['To_ID']; echo "selected value:".$id; $query="select 'ID','Name' from where ID='$id'"; $result=sqlsrv_query($conn,$query); $a=sqlsrv_num_rows($result); echo $a; if(!$result) { echo "Query execution failed"; } else { while($row = sqlsrv_fetch_array($result)) { print_r($row['ID'].$row['Name']); } } } else { echo "Post variable not set"; } 

Je reçois une erreur sur la ligne ici …

 print_r($row['ID'].$row['Name']); 

Et puis, je vérifie les colonnes de la database, l'ID et le nom de la colonne sont présents dans la database et la requête de sélection s'exécute bien lorsque j'ai essayé séparément.

Même si l'ID et le nom du nom de file existent, j'obtiens un ID d'index indéfini et une erreur de nom.

S'il vous plaît aidez-moi à résoudre cette erreur.

Merci d'avance.

Vous utilisez le mauvais type de guillemets et il vous manque le nom de la table:

 $query="select 'ID','Name' from where ID='$id'"; 

Devrait être:

 $query="select ID,Name from table_name where ID='$id'"; 

Ou, si les noms de colonnes doivent être indiqués, vous avez besoin de block-quotes dans le server sql:

 $query="select [ID],[Name] from [table_name] where [ID]='$id'"; 

Notez également que vous avez un problème d'injection sql. Idéalement, vous devriez utiliser une instruction préparée, mais si la valeur de l'ID est un entier, vous pouvez également faire:

 $id = (int) $_POST['To_ID']; $query = "select ID,Name from table_name where ID='$id'"; 

essaye ça:

 $query="select ID,Name from where ID='$id'"; $result=sqlsrv_query($conn,$query); $a=sqlsrv_num_rows($result); echo $a; if(!$result) { echo "Query execution failed"; } else { for($i = 0; $i < $a; $i++) { print_r($row[$i]['ID'].$row[$i]['Name'].'<br/>'); } } } else { echo "Post variable not set"; }