2017-10-12 2 views
-1

Je pense, je pourrais avoir besoin d'aide avec mon code PHP ... Je suis en train de faire écho les informations dans une base de données MySQL et il me donne l'erreur: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /usr/local/ampps/www/php/db.php on line 18PHP - Echo'ing quelque chose d'un DB MySQL

mon code est:

<?php 
$servername = "blabla"; //changed, connecting works 
$username = "blabla"; 
$password = "blabla"; 
$database = "blabla"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $database); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} else { 
echo "Connection success \n"; 
} 

$sql = mysql_query("SELECT * FROM Schueler"); 
while($data = mysql_fetch_array($sql)) //This is line 18... 
{ 
echo "ID: " . $data['ID'] . " Vorname: " . $data['Vorname'] . " Nachname: " . $data['Nachname'] . " Klasse: " . $data['Klasse'] . "<br>"; 
} 

$conn->close(); 

?> 

ce serait bien si quelqu'un pouvait me aider :)

Edit:

Je l'ai fixé en utilisant mysqli seulement, ceci est mon trav Le code ng maintenant:

// Create connection 
$conn = new mysqli($servername, $username, $password, $database); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} else { 
    echo "Connection success \n"; 
} 

$sql = "SELECT ID, Vorname, Nachname FROM Schueler"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "id: " . $row["ID"]. " - Name: " . $row["Vorname"]. " " . $row["Nachname"]. "<br>"; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 

Merci pour le conseil rapide.

+0

vous semble n'êtes pas connecté à db – scaisEdge

+0

Il dit « succès de connexion » une ligne au-dessus de l'erreur que j'implémentés dans le code pour que je sorte de connecté à la base de données, je pense . – Bob

+2

vous utilisez 'mysqli', puis récupérez le tableau en utilisant' mysql_fetch_array'. Ces deux-là ne devraient-ils pas être les mêmes? – shahsani

Répondre

-1

Vous avez utilisé mysqli pour la configuration de votre connexion, puis vous avez utilisé des fonctions simples mysql pour obtenir le résultat et la logique fetch_array. Vous devez être uniforme dans ce cas.

J'ai changé le mysql_query() appel à mysqli_query() appel, et de même l'appel à mysql_fetch_array()mysqli_fetch_array() appel.

Le code final devient:

$sql = mysqli_query("SELECT * FROM Schueler", $conn); 
while($data = mysqli_fetch_array($sql)) 
{ 
echo "ID: " . $data['ID'] . " Vorname: " . $data['Vorname'] . " Nachname: " . $data['Nachname'] . " Klasse: " . $data['Klasse'] . "<br>"; 
} 
+0

Attention: mysqli_query() attend au moins 2 paramètres, 1 donné dans /usr/local/ampps/www/php/db.php sur la ligne 17 __________ Attention: mysqli_fetch_array() s'attend à ce que le paramètre 1 soit mysqli_result, null donné dans /usr/local/ampps/www/php/db.php sur la ligne 18 __________ De cette façon, je finis juste par un autre avertissement. – Bob

+0

Utilisez le code édité, comme ci-dessus. – shahsani