Page 1 sur 1

Requête de séléction mysqli

Posté : 05 févr. 2021, 13:30
par Mysve
Salut,
J'essaie de faire en sorte que $_SESSION["token"] vienne de pro£_users et qu'il corresponde ) l'id qui lui même correspond à la session id ( j'éspère que vous avez pas mal à la tête)
Bref, j'ai trouvé un code que j'ai bidoullié
<?php
// On créé la requête
$req = "SELECT token FROM pro_users WHERE id = {$_SESSION['id']}";
 
// on envoie la requête
$res = $conn->prepare($req);
 
// on va scanner tous les tuples un par un
echo "<table>";
while ($data = mysqli_fetch_array($res)) {
    // on affiche les résultats
    echo "<tr><td>".$data['id']."</td><td>".$data['texte']."</td></tr>";
}
echo "</table>";
?>
Et j'ai une erreur qui apparaît, Call to a member function prepare() on null

Le token est une suite de lettres et chiffre et de signes varchar de ce type : TvC49RGdQbKHvc+45S1p8smzNbcTVyh+3xTJN

Merci par avance

Re: Requête de séléction mysqli

Posté : 05 févr. 2021, 15:07
par or 1
"Call to a member function prepare() on null"
autrement dit $conn ne vaut pas à cet endroit ce qui est nécessaire.

Re: Requête de séléction mysqli

Posté : 05 févr. 2021, 16:32
par Mysve
C'est à dire ? je n'ai pas bien compris or I

Re: Requête de séléction mysqli

Posté : 05 févr. 2021, 19:11
par @rthur
Tu fais appel à une variable $conn qui n'est définie nulle part dans ton script.

Re: Requête de séléction mysqli

Posté : 06 févr. 2021, 14:49
par Mysve
Autant pour moi,
je ne l'avais pas mis dans le code que j'ai envoyé,
la connexion se fait bien parce que j'ai connect to db bla bla via TCP
<?php
$conn = new mysqli("", "", '', "");
if ($conn->connect_errno) {
    echo "Echec lors de la connexion à MySQL : (" . $conn->connect_errno . ") " . $conn->connect_error;
}
echo $conn->host_info . "\n";

// On créé la requête
$req = "SELECT token FROM pro_users WHERE id = {$_SESSION['id']}";
 
// on envoie la requête
$res = $conn->conn->prepare($req);
 
// on va scanner tous les tuples un par un
echo "<table>";
while ($data = mysqli_fetch_array($res)) {
    // on affiche les résultats
    echo "<tr><td>".$data['id']."</td><td>".$data['texte']."</td></tr>";
}
echo "</table>";
?>
D'ou vient le probleme dans ce cas la
Merci par avance

Re: Requête de séléction mysqli

Posté : 06 févr. 2021, 16:07
par @rthur
Quel est le message d'erreur ?
Si c'est toujours le même vérifie à nouveau la ligne où ça se passe que tu n'as pas une faute de frappe (genre "conn" écrit en double)

Re: Requête de séléction mysqli

Posté : 06 févr. 2021, 18:54
par Mysve
Merci,
<?php
$conn = new mysqli("", "", '', "");
if ($conn->connect_errno) {
    echo "Echec lors de la connexion à MySQL : (" . $conn->connect_errno . ") " . $conn->connect_error;
}
echo $conn->host_info . "\n";

// On créé la requête
$req = "SELECT token FROM pro_users WHERE id = {$_SESSION['id']}";
 
// on envoie la requête
$res = $conn->prepare($req);
 
var_dump($req);
?>

Le contenu de req est quandhe le print "SELECT et tout" alors que je veux le resultat
comment faire ?

Re: Requête de séléction mysqli

Posté : 06 févr. 2021, 22:42
par two3d
Utilise assoc plutôt que array (mysqli_assoc()), regarde la doc si tu veux des infos mais utiliser assoc plutôt qu'array demande moins de ressource.

Re: Requête de séléction mysqli

Posté : 07 févr. 2021, 01:02
par Mysve
D'accord, je vais modifier ça, sais tu comment faire pour que ceci ne soit pas en erreur {
"message": "syntax error, unexpected '')'' (T_CONSTANT_ENCAPSED_STRING), expecting ')'",
$reponse = $bdd->query('SELECT * FROM web_pages WHERE company_token = (SELECT token FROM pro_users WHERE id ='{$_SESSION["id"]}')');
Merci par avance

Re: Requête de séléction mysqli

Posté : 07 févr. 2021, 09:14
par two3d
La concaténation avec accolades "{}" fonctionne qu'avec les guillemets doubles à mon avis.

Re: Requête de séléction mysqli

Posté : 07 févr. 2021, 09:53
par @rthur
Petit rappel sur la concaténation des variables en PHP :
http://www.phpdebutant.org/article55.php

Re: Requête de séléction mysqli

Posté : 07 févr. 2021, 10:10
par two3d
j'ai pas trouvé d'article sur les accolades en php

Re: Requête de séléction mysqli

Posté : 07 févr. 2021, 12:49
par Mysve
Merci,
A+