2011-10-20 4 views
0

Je dois faire quelque chose de malPHP ne trouve pas la base de données mySQL?

J'ai un script très simple et une base de données très simple Aucune idée pourquoi il ne fonctionne pas ..

S'il vous plaît aider

<?php 

error_reporting(E_ALL); 

$link = mysql_connect('localhost', 'root', 'password'); 
if(!$link) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

$database = mysql_select_db('test_db', $link); 
if(!$database) 
{ 
    die('Could not connect to database: ' . mysql_error()); 
} 

$result = mysqli_query($link, "SELECT forename FROM users WHERE id='1'"); 
if(!$result) 
    echo 'PROBLEM'; 
$row = mysqli_fetch_array($result); 
echo $row[0]; 

?> 

Il est même pas donner de erreurs, juste en écho 'Problème' ...

La base de données se connecte bien, et il y a 1 utilisateur dans la base de données avec un ID de 1 et le prénom est Cristian.

+7

Essayez'echo mysql_error(); 'au lieu de' echo 'PROBLÈME' ; 'obtenir un message significatif au lieu de simplement PROBLÈME. –

+0

cela peut ne pas se rapporter du tout, mais je suggère de ne pas mélanger mysqli et mysql appels ensemble, si vous avez accès à mysqli - l'utiliser pour tous :) –

Répondre

5

Dans $result = mysqli_query juste essayer useing $result = mysql_query même dans $row = mysqli_fetch_array devrait aider

Essayez vous replaceing le code de $ résultat en avant avec cette

$result = mysql_query("SELECT forename FROM users WHERE id='1'"); 
if(!$result) 
    echo 'PROBLEM'; 
$row = mysql_fetch_array($result); 
echo $row[0]; 

?> 
+0

Pouvez-vous expliquer votre raisonnement? –

+5

Ceci est la bonne réponse. Pour élaborer, l'OP se connecte en utilisant les fonctions mysql_, mais il interroge et récupère en utilisant les fonctions mysqli_. Les fonctions mysqli_ ignorent complètement la connexion faite par les fonctions mysql_. La solution consiste à utiliser uniquement les fonctions mysql_ ou mysqli_. Ils ne peuvent pas être échangés d'avant en arrière. – Kibbee

+0

La réponse ci-dessus ne fonctionne pas, elle fait toujours écho à PROBLEM. Changer le problème pour mysql_error ne génère aucune erreur. En ce qui concerne le mélange des fonctions mysql et mysqli, je l'ai fait par le passé et je n'ai rencontré aucun problème, bien que je vais le changer maintenant. Je pense qu'il pourrait y avoir un problème avec la lecture php de la base de données? D'autres idées? – Cristian

Questions connexes