Page 1 sur 1

Query depuis un url

Posté : 20 sept. 2022, 21:23
par eiffel-mtl
Bonjour,

Ça fait plusieurs années que je n'ai pas codé en php mysql, donc j'en ai perdu quelque peu.

J'ai une page

Code : Tout sélectionner

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "h2orcdesign"; ?> <?php // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection $sql = "SELECT * FROM boats"; $result = $conn->query($sql); while($row = mysqli_fetch_array($result)) { ?> <?php echo '<div align="left"><a href="boats.php?boatsId='.$row["id"].'">'?>
qui appelle une deuxième avec un paramètre dans le url.

Code : Tout sélectionner

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "h2orcdesign"; ?> <?php echo $_GET['id']==$boatsId; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection $sql = "SELECT * FROM boats where id = ' .$_GET['id'].' "; $result = $conn->query($sql); while($row = mysqli_fetch_array($result)) { ?> <?php echo '<img src="assets/images/'.$row["images1"]. '">'?>
Le problème c'est que, dans la 2e page, le echo fonctionne mais c'est tout, le query ne semble pas reconnaître les information récupérées via le _Get.

Qu'est-ce que je ne fais pas de bien? En passant j'ai essayé aussi le query comme suit:

Code : Tout sélectionner

$sql = "SELECT * FROM boats where id = ' .$boatsId.' ";
et comme suit:

Code : Tout sélectionner

echo $_GET['id']==$boatsId; $ids = $_GET['id']; $sql = "SELECT * FROM boats where id = ' .$ids.' ";
Merci

Re: Query depuis un url

Posté : 20 sept. 2022, 21:25
par or 1
ça donne quoi dans tous ces cas de figure un
echo $sql;
?

Re: Query depuis un url

Posté : 20 sept. 2022, 21:29
par eiffel-mtl
Dans tout les cas, quand il y a un echo, ça m'affiche le id (dans ce cas, 1) et c'est tout. Le reste de la page est vide. Si il n'y a pas d'echo, il y a rien dans la page.

Re: Query depuis un url

Posté : 20 sept. 2022, 21:53
par or 1
avec uniquement :
<?php
$sql = "SELECT * FROM boats where id = ' .$_GET['id'].' ";
echo $sql;
?>

aucune raison que rien ne s'affiche.

Re: Query depuis un url

Posté : 20 sept. 2022, 22:07
par eiffel-mtl
Littéralement comme ça ça me fait une erreur.

Code : Tout sélectionner

<?php $servername = "localhost"; $username = "username"; $password = "passwordB"; $dbname = "h2orcdesign"; ?> <html> <head> <meta charset='utf-8'/> <title>H2O Rc Design</title> </head> <body> <?php // Create connection $conn = new mysqli($servername, $username, $password, $dbname); ?> <?php $sql = "SELECT * FROM boats where id = ' .$_GET['id'].' "; echo $sql; ?> <?php $conn->close(); ?> </body> </html>

Re: Query depuis un url

Posté : 20 sept. 2022, 22:09
par or 1
quel est le message d'erreur ?

Re: Query depuis un url

Posté : 20 sept. 2022, 22:11
par eiffel-mtl
Cette page ne fonctionne pas
Impossible de traiter cette demande via [url] à l'heure actuelle.
HTTP ERROR 500

Re: Query depuis un url

Posté : 20 sept. 2022, 22:19
par or 1
effectivement, je ne pensais pas que la syntaxe erronée aboutissait à cela.
il faut donc lire https://www.php.net/manual/fr/language.types.string.php et corriger la ligne :
$sql = "SELECT * FROM boats where id = ' .$_GET['id'].' ";

Re: Query depuis un url

Posté : 20 sept. 2022, 22:33
par eiffel-mtl
Good, grâce à vous j'ai trouvé la solution. J'ai créer une variable, ça donne:

Code : Tout sélectionner

$boatsId = $_GET['id']; $sql = "SELECT * FROM boats where id = '$boatsId' ";