2014-09-21 8 views
0

Je développe actuellement une application sur mon WAMP (PHP 5.5.12, MySQL 5.6.17).MySQL: Requête invalide. Pas de message d'erreur

J'ai une fonction qui affiche tous les événements sur la page. Comme il ya une colonne appelée city, mais dans la base de données cette colonne contient cityID, j'ai écrit une fonction qui va interroger la base de données pour obtenir le nom de la ville par ID.

Alors, c'est ce que j'ai:

$city = self::getCity($row['id']); 

et mon getCity():

// Getting Config file data (DB connection info); 
$conf = $this->getConf(); 
$mysqli = $this->dbConnect($conf); 

    // Quering... 
$query = "SELECT * FROM cities WHERE id = '" . $id . "';"; 
$result = $mysqli->query($query); 

if (!$result) { 
    $message = 'Invalid query: ' . mysql_error() . "\n"; 
    die($message); 
} 

$row = $result->fetch_array(); 
$city = $row['city']; 
return $city; 

Ce que je reçois ici est: Invalid query: sans message d'erreur. Je suppose que ma requête est mauvaise, mais j'ai essayé de la modifier de différentes manières (juste pour mentionner, j'ai juste essayé ceci: DROP TABLE cities, parce qu'il n'y a que 3 ou 4 entrées). Mais avant que j'aie ajouté la chaîne die($message), j'éprouvais l'erreur fatale Call to a member function fetch_array() on a non-object.

Je dois dire qu'il n'y a aucune erreur dans dbConnect(), parce que je l'appelle d'autres fonctions et cela fonctionne plutôt bien.

Où est mon problème? Qu'est-ce que je fais mal?

UPD: Après avoir mis la langue de MySQL du français vers l'anglais (il a été défini par défaut en français), et en changeant mysql_error-mysqli_error (ma faute, désolé), il me dit que No database selected.

+0

ce n'est pas lié à votre question mais mysqli dead. Utiliser PDO – hakiko

+1

Mysqli est vivant et bien: http://php.net/manual/fr/mysqlinfo.api.choosing.php – andy

+0

où est la définition de la fonction? – hakiko

Répondre

-1

FAITES L'ESSAI

$query = "SELECT * FROM cities"; 

Si vous avez écrit ce

$query = "SELECT * FROM cities;"; 

voir la ; à l'intérieur des guillemets doubles ??

+0

Négatif. Cela fonctionnera même avec un point-virgule à la fin. Mais j'ai déjà essayé les deux variantes. –

Questions connexes