2017-08-05 193 views
0

我有這段代碼在我的網站上顯示兩個記錄在一個表中。它目前沒有工作。PHP mysqli代碼不工作

<?php 
//make connection 
mysqli_connect('localhost', 'root', 'password', 'databasename')or die('Connection could not be established With msql_connect'); 
$sql = "SELECT * FROM players ORDER BY bankacc DESC LIMIT 10"; 
$records = mysqli_query($sql) or die('Connection could not be established With mysqli_query'); 
?> 

要創建我有這樣的PHP代碼表:

<?php 
    while($players=mysqli_fetch_assoc ($records)){ 

    echo"<tr>"; 

    echo"<td>","<center>".$players['name'];"</center>";"<td>"; 
    echo "<td>","<center>","$",number_format($players['bankacc']);"</center>";"<td>"; 

    echo"</tr>"; 

}//end while 

?> 

當我嘗試運行它,它說:

Connection could not be established with mysqli_query on my webpage I hope someone can help me.

+0

你能夠在命令行連接到數據庫? – Lewis42

回答

1

你感到困惑/不明白這兩個可以以程序方式或面向對象的方式使用mysqli的方式。

如果你看到你的代碼,你會注意到mysqli_connect沒有存儲在任何地方,所以mysqli_query也會拋出一個錯誤,你必須將兩者連接在一起。

編輯:從您的代碼在你的問題你用的是程序法,所以這裏是解決方案,這對解決您的錯誤:

<?php 
//make connection 
$conn = mysqli_connect('localhost', 'root', 'password', 'databasename')or die('Connection could not be established With msql_connect'); 

$sql = "SELECT * FROM players ORDER BY bankacc DESC LIMIT 10"; 

$records = mysqli_query($conn, $sql) or die('A query error has occurred: ' . mysqli_error($conn)); 
?> 
+0

更好地更改第二個錯誤消息 '$ records = mysqli_query($ conn,$ sql)或死('查詢錯誤:'。mysqli_error($ conn));' – pvolyntsev

+0

@pvolyntsev好點,我修改了錯誤信息。 – MinistryofChaps

0

您對mysqli_connect調用失敗。這就是爲什麼你會收到錯誤信息。因此,這意味着(至少)您提供的參數之一不正確 - 主機名,用戶名,密碼或數據庫名稱。你必須檢查所有四個並修復它們。下面的PHP代碼並不重要 - 你沒有到達那裏。

修復此問題後,您需要從mysqli_connect捕獲返回值,並稍後將其用於數據庫調用。

0

如果您使用php學習連接數據庫,請不要使用mysqli_*函數。 在這裏你的代碼也許你的數據庫或用戶信息是錯誤的,但在所有的連接和獲取數據改變你這樣的代碼(和學習PDO):

<?php 
$db = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME .';',DB_USER, DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); 
$result = $db->query("SELECT * FROM players ORDER BY bankacc DESC LIMIT 10")->fetchall(); 
foreach ($result as $row) { 
    echo $row['name'] .PHP_EOL; 
    echo number_format($row['bankacc']); 
} ?>