[RESOLU] PHP; my sql et POST...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] PHP; my sql et POST...

Re: PHP; my sql et POST...

par hamdi369 » 22 déc. 2015, 09:43

Merci Patriboom

Cela fonctionne nicket mtn, :)

Grace à vous j'ai bien compris mon erreur

Merci à tous les contribueurs de PHP France :)

Re: PHP; my sql et POST...

par Patriboom » 21 déc. 2015, 23:22

D'abord, tu devrais sortir tes variable de la commande

Code : Tout sélectionner

$sql = "SELECT id, nom, numero FROM ami WHERE id = $recheche";
devrait être

Code : Tout sélectionner

$sql = "SELECT id, nom, numero FROM ami WHERE id = ".$recheche;
Aussi, pour t'assurer des bons noms aux bonnes variables, tu peux faire afficher le tableau de ce que $_POST a reçu

Code : Tout sélectionner

var_dump($_POST);

Re: PHP; my sql et POST...

par @rthur » 21 déc. 2015, 23:18

Bonjour,

Fais un var_dump($sql); pour voir ta requête SQL avant son exécution et vérifier qu'elle soit correcte

Re: PHP; my sql et POST...

par or 1 » 21 déc. 2015, 22:11

il faudrait le code du formulaire post.

PHP; my sql et POST...

par hamdi369 » 21 déc. 2015, 20:28

Bonsoir

Je butte sur un soucis depuis mtn pas mal de temps, j'arrive pas à trouver... :
J'ai une base de donnée, que je questionne avec un script php

Lorsque je le questionne comme ça, sans post ça fonctionne bien :
<?php
$servername = "localhost";
$username = "hamdi";
$password = "motdepasse";
$dbname = "bdd";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, nom, numero FROM ami WHERE id = 25";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Nom: " . $row["nom"]. " " . $row["numero"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>
Ici, j'obtiens l'enregistrement n°25,

cependant si je veux changer ce "25" par autrechose, par exemple 26, 28..., il me faut post.

j'ai donc fait ce code :
<?php
$servername = "localhost";
$username = "hamdi";
$password = "motdepasse";
$dbname = "bdd";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$recheche = $_POST['id'];
$sql = "SELECT id, nom, numero FROM ami WHERE id = $recheche";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Nom: " . $row["nom"]. " " . $row["numero"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>
J'envoi par POST id=25; mais là j'obtiens "0 results"
Quelqu'un sait-il pourquoi?

Merci pour votre aide