Merci beaucoup pour vos réponses, ils m'ont vraiment beaucoup aidé!Problème SQL au sein de php
Je suis curieux de savoir ce que je fais de mal: je ne peux obtenir aucune valeur d'une instruction SQL.
Ma structure de table de base de données:
Mon phpcode:
include('config.php');
$id = $_GET['id'];
$query = "SELECT * FROM upload WHERE id = '$id'";
echo $query."<br/>";
$result = mysql_query($query) or die('error');
print_r($result);
echo $result['id'];
Je reçois les points suivants lors des tests:
« SELECT * FROM téléchargement où id = '1'
Numéro de ressource 2 "
Mais il y a un identifiant avec la valeur '2', mais pourquoi ne le montre-t-il pas dans mon code HTML? Seulement avec un « tout » déclaration que j'obtenir les résultats souhaités:
while($results = mysql_fetch_array($result))
{
echo $results['filetitle'];
}
Est-ce while nécessaire avec un seul résultat? Je veux dire, il ne peut y avoir qu'un seul ID.
Vous utilisez [une ** API de base de données obsolète **] (http://stackoverflow.com/q/12859942/19068) et vous devez utiliser un [remplacement moderne] (http://php.net/manual/ fr/mysqlinfo.api.choosing.php). Vous êtes également vulnérable aux [attaques par injection SQL] (http://bobby-tables.com/) ** qu'une API moderne rendrait plus facile à [défendre] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php). – Quentin
Vous n'exécutez pas la requête. Vous faites écho à une chaîne qu'il fait parfaitement. Je ne vois pas la connexion à la base de données se produire n'importe où. – sashkello
$ row = mysql_fetch_array ($ result); echo $ row ['id']; –