2013-09-27 93 views
1

我在嘗試從MySQL中的表中選擇一列並將其轉換爲PHP數組時遇到了一些問題。當我回應我的結果(PHP數組)時,它不會返回任何內容。將mysql列轉換爲php數組並將其回顯

這裏是我的代碼:

$result_while = mysql_query("SELECT id` 
     FROM afunda_eleva"); 

$array = array(); 
while ($row = mysql_fetch_array($result_while)) { 
    $array[] = $result_while['id']; 
} 

for($i=0; $i < 4; $i++) 
{ 
    echo "$array[$i]"; //Possibly error happening here!! 
} 
+0

大號ooks就像你錯過了你的SQL中'id'的第一個反引號。它可能會返回一個錯誤。 – JAL

回答

1

首先,如果你想與你的數組中你需要mysql_fetch_assoc更換mysql_fetch_array列名的工作。

然後,你需要訪問您的while循環內的行,而不是結果,:

$array[] = $row['id']; 
+0

嗯,真的!它現在工作!我已經度過了一段合理的時間。非常感謝! – GustavoxD

+0

不客氣:) –

1

1到讓你不得不把$row代替$result_while['id]

2,爲了結果打印一個數組,你必須使用print_r()var_dump()

$result_while = mysql_query("SELECT id` 
     FROM afunda_eleva"); 

$array = array(); 
while ($row = mysql_fetch_array($result_while)) { 
    $array[] = $row; 
} 

echo '<pre>'; 
print_r($array); 
echo '<pre>'; 

文本在<pre>元素以固定寬度字體顯示(通常爲Courier),並保留空格和換行符。

側面說明:Why shouldn't I use mysql_* functions in PHP一個有用的鏈接

+1

正如Sébastien所建議的,我認爲問題取決於「$ array [] = $ result_while ['id'];」。不過感謝mysqli提示!我開始學習。 – GustavoxD

+0

是的...我更新了我的答案 –

2

古斯塔沃mysql_query在較新的PHP版本已經過時,它是不安全的,但做這項工作。 相反,我寧願給你一個我最喜歡的查詢數據庫方式的答案 PDO它是安全的,它是面向對象的。

首先我們需要將其設置

// instance of pdo 
$config['db'] = array 
(
    'host' => '', 
    'username' => '', 
    'password' => '', 
    'dbname' => '' 
); 
$database = new PDO('mysql:host=' . $config['db']['host'] . 
';dbname=' . $config['db']['dbname'], 
$config['db']['username'], 
$config['db']['password']); 
$database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

//query with a new database object 
$queryObject = $database->prepare("SELECT id 
FROM afunda_eleva"); 
//execute sql 
$queryObject ->execute(); 
// store the results in array 
$results = $queryObject->fetchAll(); 
//print_r results to test 
print_r($results); 
//after analysing the array and how its structured define 
for($i=0; $i < 4; $i++) 
{ 
    echo $results[$i] 
} 

嘗試代碼與實例數據庫憑據,如果要包括這在被調用PDO之前已經包含了一個單獨的數據庫文件確保你打電話global $database;以在其實例調用

這裏是一個很好的PDO教程的播放列表,運氣好的話

https://www.youtube.com/watch?v=XQjKkNiByCk

+0

+1很好的例子。我不是主張堅持'mysql_ *',但GustavoxD必須在自己的代碼中理解他的錯誤。 –

+0

@Sébastien抱歉,你們倆都有拉丁名字,我不知道是誰問的,我不是故意要求你。對不起 – WeTheBrains

+0

完全沒問題;) –

相關問題