2013-08-26 42 views
1
通常所有的基本PHP-MYSQL-SELECT教程都是基於這個代碼

獲取動態MySQL表列與PHP

$query = "SELECT * FROM table_name"; 
$result = mysql_query($query); 

$num = mysql_num_rows($results); 
if ($num > 0) { 
    while ($row = mysql_fetch_assoc($result)) { 
     // You have $row['ID'], $row['Category'], $row['Summary'], $row['Text'] 
    } 
} 

,但爲了這個,我需要知道列名狀「ID」,「類別」 ,「摘要」或「文本」。 如果我在phpmyadmin中添加一個像'Email'這樣的新列,我還必須將$row['Email']添加到php腳本中。

我該如何使這一步變得動態?

+1

* PSA:*'mysql_ *'函數[在PHP 5.5中不推薦使用](http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated)。不建議您編寫新的代碼,因爲這會阻止您將來升級。相反,請使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)和[是一個更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 –

+0

[PHP-MYSQL教程](https://www.udemy.com/php-mysql-tutorial/)它的一個很好的形式來理解這一切... – aldanux

回答

0

關於這個特定的問題,你需要什麼行?如果你只是想打印他們做的print_r($行),他們會在那裏,如果你想要做的事與他們做foreach循環這樣

foreach($row as $k=>$cell) 
{ 
    //do something with cell 
} 

但其他很多人會告訴你,使用PDO。

+0

好的謝謝!那裏有沒有很好的PDO教程? – Mike

+0

我敢肯定,如果你是谷歌的PDO教程,你會發現很多。這不是那麼複雜,就在你開始學習時,不要害怕使用準備好的語句,因爲它們使PDO變得非常棒。開始簡單的項目,看看php.net文檔,這是你所需要的。祝你好運。 – Dexa

+0

所以PDO會比MySQLi更好? – Mike

0

可以使用mysql_fetch_array()代替mysql_fetch_assoc(),你將能夠但是使用索引而不是名稱,在任何情況下,爲了不保證,除非您在查詢定義它自己,而是取決於你想要做什麼結果,它可以幫助。

標準嘮叨:使用MySQLi。

+0

Rafael說使用「MySQLi」/ Dexa說「PDO」 - 我現在應該怎麼使用? – Mike

+0

我推薦PDO。如果您希望將來轉移到其他數據庫,PDO可能會減少很多工作量。一篇關於[PDO vs. MySQLi]的文章可能有所幫助(http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/)。 – zedfoxus

+0

MySQLi更接近舊的MySQL函數,而PDO則非常不同,如果您正在開始使用PHP/MySQL開發,請選擇PDO,如果您正在遷移並且舊應用程序使用MySQLi。 – Rafael