2017-03-24 4 views
0

Actuellement, j'essaie de travailler sur l'ajout d'une page Web sur Amazon Web Services. La page Web contient du code PHP et HTML destiné à afficher une table particulière de ma base de données MySQL locale. J'ai déjà créé une instance EC2 et une instance AWS RDS, cependant, il y a un problème qui se produit constamment qui me dérange. Sur mon hôte local de l'ordinateur par MySQL, le code pour afficher tous les enregistrements d'une table était le suivant:Code PHP pour la sélection des données de la base de données mySQL pour les services Web Amazon

SELECT * from Students, StudentProfile, Job 
WHERE Students.StudentID=StudentProfile.Students_StudentID and Students.StudentID=Job.Students_StudentID; 

Sur la base du code ci-dessus, cette exécute parfaitement et je ne l'ai confirmé en faisant la même procédure à l'Workbench MySQL . Toutefois, lors du téléchargement de mon fichier intitulé «projectview.php» (le fichier .php pour afficher tous les enregistrements d'une table) sur AWS, cela ne fonctionne pas. J'étais conscient que je savais que je devais changer certaines parties de mon code pour le connecter à l'instance RDS d'AWS. Par conséquent, j'ai suivi l'exemple de tutoriel dans la création d'un exemple de page à partir d'un didacticiel dans AWS. Ci-dessous de cela contient un exemple de fichier .php qui contient mon travail actuel pour un site Web à afficher.

<HTML> 
<HEAD> 
<TITLE>List Students</title> 
<link href="https://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet"> 
<style> 
    body {font-family: 'Varela Round', sans-serif; 
    background-color: #ffddcc; 
    color: #e64d00; 
    border: 2px solid #ff7733; 
    border-radius: 10px; 
} 

h1 {font-family: Georgia, serif;} 

input {color:#e64d00;} 

</style> 
</head> 
<BODY> 
<H1>List Students</h1> 
<?php include '../inc/dbinfo.inc'; 

$conn = @mysqli_connect("DB_SERVER","DB_USERNAME","DB_PASSWORD","DB_DATABASE"); 

if($conn->connect_error) { 
die("Connection failed:" . $conn->connect_error); 
} 

else 
{ 
    echo "Status:Connected."; 
    echo "<br>"; 
    } 

    $sql = "SELECT * from Students, StudentProfile, Job 
    where Students.StudentID=StudentProfile.Students_StudentID and Students.StudentID=Job.Students_StudentID"; 
    mysql_select_db("project2"); 
    $result = mysqli_query($conn, $sql); 

    if(!$result) { 
    die('Could not get data: ' .mysql_error()); 
    } 
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    echo "<br>"; 
    echo "StudentID: " . $row["studentID"]. "<br>"; 
    echo "First Name: " . $row["firstName"]. "<br>"; 
    echo "Last Name: " . $row["lastName"]. "<br>"; 
    echo "Major: " . $row["Major"]. "<br>"; 
    echo "Level: " . $row["Level"]. "<br>"; 
    echo "Address: " . $row["Address"]. "<br>"; 
    echo "City: " . $row["City"]. "<br>"; 
    echo "Country: " . $row["Country"]. "<br>"; 
    echo "Zipcode: " . $row["Zipcode"]. "<br>"; 
    echo "Phone: " . $row["Phone"]. "<br>"; 
    echo "Job Company: " . $row["Job_Company"]. "<br>"; 
    echo "Job Title: " . $row["Job_Title"]. "<br>"; 
    } 

    echo "Fetched data successfully\n"; 
    //$result = $conn->query($query); 


    $conn->close(); 
    ?> 
    <br> 
    <FORM METHOD="LINK" ACTION="project2mainmenu.html"> 
    <INPUT TYPE="submit" VALUE="Return to Main Menu"> 
    </form> 
    </body> 
    </html> 

De plus, je remarque que lorsque je vérifie ma page Web après l'exécution du code, il montre une image comme ceci: Photo

**** Note: Je l'ai déjà téléchargé tous mes fichiers connexes pour les pages Web particulières. En outre, cette page Web n'est affiliée à aucun autre fichier. Il s'agit d'un fichier autonome. **

+0

Vous confondez mysql _ *() et mysql ** I ** _ *() appels de fonction. Ils appartiennent à deux API différentes. Utilisez mysqli :) – Shadow

+0

Je vois. Eh bien, il s'avère que j'ai changé les instructions mysql en mysqli et cela fonctionne. Cependant, il y a toujours un problème que la requête que j'ai écrite ne s'exécute pas. Je me demande si c'est lié à la connexion. –

Répondre

-1

Appliquez ce code et définissez une requête qui fonctionne correctement. J'ai créé une connexion depuis new mysqli. il est le résultat comme celui-ci http://prntscr.com/envt1l

<HTML> 
<HEAD> 
<TITLE>List Students</title> 
<link href="https://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet"> 
<style> 
body {font-family: 'Varela Round', sans-serif; 
background-color: #ffddcc; 
color: #e64d00; 
border: 2px solid #ff7733; 
border-radius: 10px; 
} 
h1 {font-family: Georgia, serif;} 
input {color:#e64d00;} 
</style> 
    </head> 
<BODY> 
<H1>List Students</h1> 
<?php //include '../inc/dbinfo.inc'; 
$conn = new mysqli('localhost','root','','wordpress1'); 
if($conn->connect_error) { 
die("Connection failed:" . $conn->connect_error); 
} 
else 
{ 
    echo "Status:Connected."; 
    echo "<br>"; 
} 
$sql = "SELECT * from wp_terms"; 
//mysql_select_db("project2"); 
$result = mysqli_query($conn, $sql); 
if(!$result) { 
die('Could not get data: ' .mysql_error()); 
} 
foreach ($result as $value) { 
    echo "<br>"; 
    echo "term_id: " . $value["term_id"]. "<br>"; 
    echo "name: " . $value["name"]. "<br>"; 
    echo "slug: " . $value["slug"]. "<br>"; 
} 
echo "Fetched data successfully\n"; 
//$result = $conn->query($query); 


$conn->close(); 
?> 
<br> 
<FORM METHOD="LINK" ACTION="project2mainmenu.html"> 
<INPUT TYPE="submit" VALUE="Return to Main Menu"> 
</form> 
</body> 
</html> 
+0

Toujours en train de mélanger les 2 API – Shadow