MYSQL requête avec PDO
Luc
-
maka54 Messages postés 698 Date d'inscription Statut Membre Dernière intervention -
maka54 Messages postés 698 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pourriez vous me dire comment je pourrais effectuer la même requête mais avec PDO??
Voilà et moi ça ne fonctionne pas car j'accède à ma BBD avec PDO comme ceci:
Merci à vous
Pourriez vous me dire comment je pourrais effectuer la même requête mais avec PDO??
$query = mysql_query("SELECT * FROM look WHERE $ou"); $rows = mysql_num_rows($query); if($rows) // mettre la variable adaptée { echo $row; }
Voilà et moi ça ne fonctionne pas car j'accède à ma BBD avec PDO comme ceci:
<?php $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=magicland', 'root', 'root', $pdo_options) or die('Impossible de se connecter à la BDD'); ?>
Merci à vous
A voir également:
- MYSQL requête avec PDO
- Mysql community server - Télécharger - Bases de données
- Mysql error 2002 ✓ - Forum Linux / Unix
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
15 réponses
Salut,
Si tu ne veux pas utiliser PDO, pourquoi ne pas faire appel à ta base de données comme ceci :
Sinon, pour ta requête regarde ce lien :
https://www.php.net/manual/fr/pdo.exec.php
Si tu ne veux pas utiliser PDO, pourquoi ne pas faire appel à ta base de données comme ceci :
// code local $dblogin="login"; $dbpass="pass"; $dbhost="host"; $dbname="db_name"; mysql_connect($dbhost, $dblogin,$dbpass) or die("erreur de connexion au serveur"); mysql_select_db($dbname) or die("erreur de connexion a la base de donnees"); ?>
Sinon, pour ta requête regarde ce lien :
https://www.php.net/manual/fr/pdo.exec.php
Merci beaucoup Melooo,
Ta façon à l'air d'être beaucoup plus simple.. mais PDO, sincèrement, est il vraiment utile?? Et du fait que je l'ai activé sur MAMP ne va t-il pas m'empecher de procéder comme tu viens de me le dire plus haut?
Merci à toi ;)
Ta façon à l'air d'être beaucoup plus simple.. mais PDO, sincèrement, est il vraiment utile?? Et du fait que je l'ai activé sur MAMP ne va t-il pas m'empecher de procéder comme tu viens de me le dire plus haut?
Merci à toi ;)
Pour être tout à fait franche, je me suis jamais penchée sur le cas "PDO".
Donc je te conseille de lire ceci :
http://www.siteduzero.com/tutoriel-3-34790-pdo-interface-d-acces-aux-bdd.html#ss_part_1
qui répertorie les avantages de PDO...
Essayes de faire comme je viens de te l'expliquer et tu verra bien si tu as une erreur ;) sinon tu devras désactiver PDO
Donc je te conseille de lire ceci :
http://www.siteduzero.com/tutoriel-3-34790-pdo-interface-d-acces-aux-bdd.html#ss_part_1
qui répertorie les avantages de PDO...
Essayes de faire comme je viens de te l'expliquer et tu verra bien si tu as une erreur ;) sinon tu devras désactiver PDO
En fait ce que t'as donné Melooo va être prochainement abandonné. On préconise PDO.
Pour effectuer ta requête avec PDO, tu dois utiliser
$result = $bdd->query('TA_REQUETE');
Ensuite pour compter, il te suffit de faire un foreach combiné à la fonction count();
Pour effectuer ta requête avec PDO, tu dois utiliser
$result = $bdd->query('TA_REQUETE');
Ensuite pour compter, il te suffit de faire un foreach combiné à la fonction count();
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci Anoen à toi aussi,
le problème c'est que j'ai déjà créer un foreach avant et j'ai essayé de faire à peu près comme tu m'as dis mais je ss assez novice et ça ne fonctionne pas.
:(
le problème c'est que j'ai déjà créer un foreach avant et j'ai essayé de faire à peu près comme tu m'as dis mais je ss assez novice et ça ne fonctionne pas.
<?php include('bdd.php'); function resultat_recherche($search) { $ou =""; $search = preg_split('/[\s]+/',$search); $total_resultat = count($search); foreach($search as $key=>$searches) { $ou .= "titre LIKE '%$searches%'"; if($key !=($total_resultat-1)) { $ou .=" AND "; } } $result = $bdd->query("SELECT * FROM cinefilms WHERE $ou"); $rows = count($result); if($rows) { echo "tout est ok"; }else echo "c'est la merde"; } ?>
:(
echo "tout est ok"; }else echo "c'est la merde";
}else quoi ??
tu n'as aucune condition ouverte avant
Bah si:
if($rows) // si la variable existe..
{
echo "tout est ok"; // alors on affiche ce message
}else echo "c'est la merde"; //a l'inverse celui-ci
J'utilise ce système depuis que j'ai appris le MySQL et ça a toujours très bien fonctionné... c'est juste pour vérifier en fait
if($rows) // si la variable existe..
{
echo "tout est ok"; // alors on affiche ce message
}else echo "c'est la merde"; //a l'inverse celui-ci
J'utilise ce système depuis que j'ai appris le MySQL et ça a toujours très bien fonctionné... c'est juste pour vérifier en fait
ajoute
après
et regarde ce qu'il est écrit
print_r($result->errorInfo());
après
$result = $bdd->query("SELECT * FROM cinefilms WHERE $ou");
et regarde ce qu'il est écrit
Cela ne m'affiche rien :/
Et pour rep à Melooo
Là ça m'affiche "c'est la merde" ^^
Et pour rep à Melooo
$query = mysql_query("SELECT * FROM look WHERE $ou"); $rows = mysql_num_rows($query); if($rows) // mettre la variable adaptée { echo "tout est ok"; }else echo "c'est la merde";
Là ça m'affiche "c'est la merde" ^^
Toujours "la merde" Melooo
Le problème vient de mysql_num_rows incompatible avec PDO...
La seule chose que je vois avec PDO c'est que des inconvénients lol
Un petit problème comme ça est entrain de se transformer en quelque chose d'irréalisable :'(
Le problème vient de mysql_num_rows incompatible avec PDO...
La seule chose que je vois avec PDO c'est que des inconvénients lol
Un petit problème comme ça est entrain de se transformer en quelque chose d'irréalisable :'(
Je vais laisser tomber, je vais aller directement sur le site ou j'ai appris le mysql et PDO, j'espère qu'ils vont réussir à me répondre ;)
Bye et merci à tous
Bye et merci à tous
<?php include('bdd.php'); function resultat_recherche($search) { $ou =""; $search = preg_split('/[\s]+/',$search); $total_resultat = count($search); foreach($search as $key=>$searches) { $ou .= "titre LIKE '%$searches%'"; if($key !=($total_resultat-1)) { $ou .=" AND "; } } $query= 'SELECT * FROM look WHERE $ou'; $req = $dbh->query($query); $result = $req->fetchAll(); { echo '<p>Cette requête retourne '.count($result)." enregistrements.</p>\n"; } } ?>
Resultat page blanche...
echo $query;
et test ta requête directement dans phpmyadmin
si çà marche, tu test ce code :
$query= 'ta requete sql'; $rs = $bdd->prepare($query); $error = $rs->execute(array()); if (!$error) { print_r($rs->errorInfo()); }else{ $rows = $rs->fetchAll(); print_r($rows); }
au passage, faut savoir : soit $dbh, soit $bdd, mais c'est ta variable de connexion à pdo qu'il faut mettre