2013-12-20 48 views
-1

我需要這個mysqli的改變對工作PDO:myqsli - >取生成PDO

$user = "name"; 
$pass = "password"; 
try { 
    $dbh = new PDO('mysql:host=host;dbname=dbname', $user, $pass); 
    $dbh = null; 
} catch (PDOException $e) { 
    print "Error!: " . $e->getMessage() . "<br/>"; 
    die(); 
} 

$sth = $dbh->prepare("SELECT * FROM table"); 
$sth->execute(); 

    while ($user = $sth->fetch(PDO::FETCH_ASSOC)) { 

     echo $user[1]; 

    } 

使用這種取我沒有得到預期的結果.. 但這並不工作,任何人都可以檢查嗎? 問候

+1

你能描述一下你沒有得到預期的結果嗎?你得到了什麼,你究竟期待什麼? – Rikesh

+0

您是否收到錯誤?你怎麼構造PDO('$ dbh = new PDO(/ *這裏有什麼參數?* /);') –

+0

我需要回顯表 – user3122124

回答

4

你爲什麼將$ dbh設置爲null?

$dbh = new PDO('mysql:host=host;dbname=dbname', $user, $pass); 
$dbh = null; <--remove this line. 
+0

我的想法。難怪你會得到錯誤,你立即破壞你剛剛建立的連接! – silkfire

0

它應該是:

while ($user = $sth->fetch(PDO::FETCH_ASSOC)) { 
    echo $user['username']; // Put the actual column name here, I'm just guessing 
} 

或:

while ($user = $sth->fetch(PDO::FETCH_NUM)) { 
    echo $user[1]; 
} 

PDO::FETCH_ASSOC就像是mysqli_fetch_assoc,並PDO::FETCH_NUM就像mysqli_fetch_row

+0

好,但爲什麼我得到這個:致命錯誤:調用一個成員函數prepare()在第28行的/www/htdocs/w011622a/testo/test.php中的非對象...爲此代碼:$ sth = $ dbh-> prepare(「SELECT * FROM table」);你知道爲什麼? – user3122124

+1

因爲你打開連接後有'$ dbh = null;'。 – Barmar