Problème requête PHP/MySQL
delaville81
Messages postés
209
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
Je sollicite votre aide pour résoudre un problème que je rencontre sur une requête. C'est le fichier PHP que j'ai trouvé sur un site pour créer un imput autocompletion.
mon code
J'ai renseigné serveur, login et mot de passe
Mon problème est le suivant, je n'arrive pas à afficher la liste des champs que je veux. Il ne se passe rien.
Il y a sureent une erreur dans le code, si oui, je ne la trouve pas.
De plus à la suite le la ligne
le code PHP se termine. Je ne sais pas comment le coder pour relancer le php proprement.
Merci d'avance pour votre aide
Je sollicite votre aide pour résoudre un problème que je rencontre sur une requête. C'est le fichier PHP que j'ai trouvé sur un site pour créer un imput autocompletion.
mon code
<?php
//SÈcuritÈ pour empÍcher d'interroger la base librement : liste des table et des champs utilisables
$check = array(
'vin' => array('clevin', 'id_vin')
);
//Connexion # la base de donnÈes
@mysql_connect('serveur', 'login', 'motdepasse') or die('Connexion # la base de donnÈes impossible');
@mysql_select_db('login') or die('base de donnÈes inexistante');
$table = (isset($_GET['table']) ? $_GET['table'] : 'vin');
$field = (isset($_GET['field']) ? $_GET['field'] : 'clevin');
$search = (isset($_GET['search']) ? $_GET['search'] : 'id_vin');
if(isset($check[$table]) && in_array($field, $check[$table])){ //VÈrification
if($table && $field && $search){
$search = strtolower(mysql_escape_string($search));
header("content-type: application/xml");
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
echo '<suggests>';
$query = 'SELECT ''.$field.'' FROM ''.$table.'' WHERE lower(''.$field.'') LIKE "'.$search.'%" ORDER BY ''.$field.''';
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
echo ' <suggest>'.$row[$field].'</suggest>';
}
echo '</suggests>';
}
}
else{
die('RequÍte interdite');
}
?>
J'ai renseigné serveur, login et mot de passe
Mon problème est le suivant, je n'arrive pas à afficher la liste des champs que je veux. Il ne se passe rien.
Il y a sureent une erreur dans le code, si oui, je ne la trouve pas.
De plus à la suite le la ligne
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
le code PHP se termine. Je ne sais pas comment le coder pour relancer le php proprement.
Merci d'avance pour votre aide
A voir également:
- Problème requête PHP/MySQL
- Easy php - Télécharger - Divers Web & Internet
- Mysql community download - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql error 2002 ✓ - Forum Linux / Unix
6 réponses
Bonjour,
Il y a un problème avec les apostrophes et quotes dans cette ligne :
Remplace par :
Xavier
Il y a un problème avec les apostrophes et quotes dans cette ligne :
$query = 'SELECT ''.$field.'' FROM ''.$table.'' WHERE lower(''.$field.'') LIKE "'.$search.'%" ORDER BY ''.$field.''';
Remplace par :
$query = 'SELECT ''.$field.'' FROM ''.$table.'' WHERE lower(''.$field.'') LIKE "'.$search.'%" ORDER BY ''.$field.''';
Xavier
Merci Xavier pour ta réponse si rapide
mais lors que je lance le script, j'obtient :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /xxxxxxxxxxxxxxxxx/autocomplete_ajax.php on line 29
La ligne 29 est la ligne du SELECT
J'ai donc besoin encore de ton aide
Merci d'avance
mais lors que je lance le script, j'obtient :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /xxxxxxxxxxxxxxxxx/autocomplete_ajax.php on line 29
La ligne 29 est la ligne du SELECT
J'ai donc besoin encore de ton aide
Merci d'avance
En enlevant les doubles quotes, j'ai une autre message (dans un cadre rouge) que je n'ai jamais vu
Pour être franc, je ne comprend pas la signification
Merci pour votre aide
This page contains the following errors: error on line 1 at column 47: ParsePI: PI php space expected Below is a rendering of the page up to the first error.
Pour être franc, je ne comprend pas la signification
Merci pour votre aide
C'est toujours pareil, rien ne s'affiche
Dans le code source de la page interprétée j'obtient
Avez vous une idée ?
De plus j'ai viré de ma page
Parce que la page montrée une erreur incompréhensible (voir message précèdent)
Si vous connaissez le moyen de coder cette ligne pour qu'elle ne face plus afficher d'erreur je suis preneur
Merci de votre aide
Dans le code source de la page interprétée j'obtient
<suggests></suggests>
Avez vous une idée ?
De plus j'ai viré de ma page
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
Parce que la page montrée une erreur incompréhensible (voir message précèdent)
Si vous connaissez le moyen de coder cette ligne pour qu'elle ne face plus afficher d'erreur je suis preneur
Merci de votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Xavier,
Merci,
en faisant
ça marche.
Mais j'ai toujours le problème avec
Le code à la suite s'affiche en HTML. Il prend en compte le ?> à la fin de la ligne comme fin du code PHP. Je ne sais pas comment l'intégrer différemment.
Si vous avez une idée
Merci
Merci,
en faisant
$query = 'SELECT '.$field.' FROM '.$table.' WHERE lower('.$field.') LIKE "'.$search.'%" ORDER BY '.$field;
ça marche.
Mais j'ai toujours le problème avec
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
Le code à la suite s'affiche en HTML. Il prend en compte le ?> à la fin de la ligne comme fin du code PHP. Je ne sais pas comment l'intégrer différemment.
Si vous avez une idée
Merci
Pour ce problème, je pense que le mieux est de ne pas l'inclure dans du php avec echo, mais de le mettre simplement dans le flux de la page...
Comme ceci :
Comme ceci :
if(isset($check[$table]) && in_array($field, $check[$table])){ //VÈrification
if($table && $field && $search){
$search = strtolower(mysql_escape_string($search));
header("content-type: application/xml");
?>
<?xml version="1.0" encoding="iso-8859-1" ?>
<?php
echo '<suggests>';
Bon, alors pour voir déjà si le script marche, que se passe-t-il dans ton navigateur si tu appelles directement le script, sans passer par ta page où tu veux qu'il s'affiche ?