web-dev-qa-db-fra.com

Récupérer une seule ligne en PHP / MySQL

Duplicata possible:
mysql_fetch_array () s'attend à ce que le paramètre 1 soit une ressource, booléen donné dans select

question simple ici.

J'ai une requête SELECT

SELECT FROM friendzone WHERE ID = '$editID'"

Je suis sûr que cela ne me donnera qu'une seule ligne, car les ID ne peuvent pas être dupliqués dans ma base de données.

Comment puis-je accéder aux valeurs des colonnes?

$row = mysql_fetch_array($query);

Je pense que cela est inutile car je n'ai pas à faire de tableau .. Je n'ai qu'une seule ligne!

Si je ne le mets pas dans un cicle While, et essayez de faire par ex.

.$row['ID'].

Je reçois:

mysql_fetch_array() expects parameter 1 to be resource, boolean given

Merci d'avance à tous.

11
wiredmark

Veuillez ne pas utiliser mysql_* fonctionne dans le nouveau code . Ils ne sont plus maintenus et le processus de dépréciation a commencé dessus. Voir la boîte rouge ? En savoir plus sur déclarations préparées à la place, et utilisez PDO ou MySQLi = - cet article vous aidera à décider lequel. Si vous choisissez PDO, voici un bon tutoriel .

Essayez avec:

$query = mysql_query("SELECT * FROM friendzone WHERE ID = '$editID'");
$row = mysql_fetch_array($query);

print_r($row);

Code MySQLi:

$conn = new mysqli('Host', 'username', 'password', 'database');
$stmt = $conn->prepare("SELECT * FROM friendzone WHERE ID = ?");
$stmt->bind_param("s", $editID);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

print_r($row);
14
jan267

Votre $query Est probablement égal à false parce que quelque chose s'est mal passé, essayez mysql_error() pour voir ce qui ne va pas.

Et 2 petits conseils:

  1. il serait préférable d'utiliser PDO od mysqli car les fonctions mysql_ * sont obsolètes.

  2. utilisez au moins mysql_real_escape_string() pour échapper la valeur avant de la mettre dans la chaîne SQL

3
lupatus

Puisque je ne sais pas quelles colonnes vous essayez de sélectionner la syntaxe générale pour select est

"SELECT column1, column2, column3 FROM friendzone WHERE ID ='$editID'"

Ou si vous souhaitez sélectionner toutes les colonnes, tapez simplement

"SELECT * FROM friendzone WHERE ID = '$editID'"
0
DrinkJavaCodeJava