我有點想到從mysql服務器回顯字符串列表。流程將如何進行?我想這是該格式是這樣的:PHP&MySQL - 迴應字符串列表
Name 1
Name 2
Name 3
Name 4
但是每一個新的名字是在一個新的細胞,我不知道如何從MySQL服務器收集的每一個名字。 PHP是一個很新的語言對我來說請到容易:)
我有點想到從mysql服務器回顯字符串列表。流程將如何進行?我想這是該格式是這樣的:PHP&MySQL - 迴應字符串列表
Name 1
Name 2
Name 3
Name 4
但是每一個新的名字是在一個新的細胞,我不知道如何從MySQL服務器收集的每一個名字。 PHP是一個很新的語言對我來說請到容易:)
查詢表,然後通過生成的數組循環,這個例子是假設列名是「名」
$query = 「SELECT * FROM table」;
$showresult = mysql_query($query);
while($results_array = mysql_fetch_assoc($showresult))
{
echo "Name ".$results_array["name"];
}
有在至少三個可以訪問MySQL服務器的擴展模塊:舊的php-mysql模塊,MySQL improved module和PDO with its MySQL driver。 Pete給了你一個「舊」MySQL模塊的例子。讓我用PDO和(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')");
}
打印
nameA
nameB
same statement again, different parameter:
nameA
nameB
nameC
nameD
有什麼辦法可以在陣列的完整列表,與所有的名字,而不必附和它一個一個? – lab12 2010-08-25 03:20:50
我不太清楚你的意思,你可以在while循環中打印print_r($ results_array),它將打印每行內的所有內容。 while循環是必需的,因爲它遍歷每一行,否則$ results_array只會獲取第一行的值。 :)起初,這可能有點混亂,請不要猶豫,繼續提問,這就是人們如何學習 – 2010-08-25 19:50:59