Il y a à au moins trois modules d'extension qui donnent accès à un serveur MySQL: l'ancien module php-mysql, le MySQL improved module et le PDO with its MySQL driver. Pete vous a donné un exemple du "vieux" module MySQL. Permettez-moi de vous montrer un exemple en utilisant AOP et (server-side) prepared statements:
<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'localonly', 'localonly');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
setupTestdata($pdo);
$stmt = $pdo->prepare('SELECT foo FROM soTest WHERE id<?');
$stmt->execute(array(3));
while(false!==($row=$stmt->fetch(PDO::FETCH_ASSOC))) {
echo $row['foo'], "\n";
}
echo "same statement again, different parameter:\n";
$stmt->execute(array(5));
while(false!==($row=$stmt->fetch(PDO::FETCH_ASSOC))) {
echo $row['foo'], "\n";
}
function setupTestdata($pdo) {
$pdo->query('CREATE TEMPORARY TABLE soTest (id int auto_increment, foo varchar(16), primary key(id))');
$pdo->query("INSERT INTO soTest (foo) VALUES ('nameA'), ('nameB'), ('nameC'), ('nameD'), ('nameE')");
}
impressions
nameA
nameB
same statement again, different parameter:
nameA
nameB
nameC
nameD
Est-il possible que je peux obtenir la liste complète du tableau avec tous les noms, au lieu d'avoir à l'écho d'un par un? – lab12
Je ne sais pas trop ce que vous voulez dire, vous pouvez print_r ($ results_array) dans la boucle while qui imprime tout à l'intérieur de chaque ligne. La boucle while est nécessaire car elle itère à travers chaque ligne, sinon $ results_array ne saisirait que les valeurs de la première ligne. :) Cela peut être un peu confus au début, s'il vous plaît ne pas hésiter à continuer à poser des questions, c'est comment les gens apprennent –