Program nece da mi cita podatke iz baze
U MySql bazi su podaci u obliku:
- Ime
- Prezime
Kada preko forme odaberem ime (jedno od dva ponudjena) program bi trebao da izbaci e-mail osobe.
Pretpostavlajm da je problem sa metodom fetch(), tj da je nisam ispravno upotrebio.
Inace ovo je iz knjige "PHP for absolute beginners" iz 2009. jedan od osnovnih primera konektovanja na bazu preko PDO.
Pre par godina naucio sam osnove povezivanja preko mysql() i mysqli() ali sam zbog drugih stvari batalio. Sada bih hteo da se vratim u materiju i krenem profesionalno da se bavim. Vidim da je PHP napredovao i sve mi se ovo OOP cini neverovatno konfuznim. Zato sam uzeo knjige da probam od pocetka.
Svaki savet je dobrodosao
<?php
if($_SERVER['REQUEST_METHOD']=='POST')
{
// Open a MySQL connection
$dbinfo = 'mysql:host=localhost;dbname=Galileo15Feb01';
$user = 'root';
$pass = '';
$link = new PDO($dbinfo, $user, $pass);
// Create and execute a MySQL query
$sql = "SELECT email FROM email_list WHERE first_name=?";
$stmt = $link->prepare($sql);
if($stmt->execute(array($_POST['nejm'])))
{ echo "inside if";
while($row = $stmt->fetch()) {
echo "inside while";
printf("mejl: %s<br />", $row['email']);
}
$stmt->closeCursor();
}
}
else {
?>
<form method="post">
<label for="nejm">Select first name:</label>
<select name="nejm">
<option value="1">Stojan</option>
<option value="2">Djovak</option>
</select>
<input type="submit" />
</form>
<?php } // End else ?>
Izbacuje poruku "inside if". Ne stampa "inside while"!