2015-11-21 58 views
0

MY mysql_query ("Select * From 'Table'")在PHP中不起作用。選擇*從'表'不起作用php

我得到一個錯誤

Access denied for user ''@'localhost' 
(using password: NO) 

。奇怪的是,所有my INSERT INTO PHP代碼沒有問題。

有什麼幫助?

UPDATE

服務器不與任何SELECT *報表工作,但與INSERT INTO報表工作。我正在使用Bitnami WAMP的Amazon EC2 Windows實例。

<?php 
$servername = "server"; 
$username = "user"; 
$password = "pass"; 
$db = "db"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $db); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$result = mysqli_query("SELECT * FROM table") or die(mysql_error()); 

$conn->close(); 
?> 

這會得到錯誤。

這不是我的連接,但因爲我爲INSERT INTO聲明做了完全相同的代碼,所以它可以工作。這可能是一個配置錯誤..

+2

對於這些人在2015年看這個問題,請求mysql_query已被棄用。由於某種原因,使用PDO或mysqli –

+0

@fandressouza服務器不能與mysqli_query一起使用 – user5432778

+0

在'mysql'服務器端設置用戶憑證。 – KernelPanic

回答

0

總結表中的引號。表是reserved keyword在MySQL就必須在反引號

if ($result = $conn->query("SELECT * FROM `table`")) { 
     printf("Select returned %d rows.\n", $result->num_rows); 
     $result->close(); 
    }else{ 
     echo "error"; 
    } 
+0

是的,我嘗試過但沒有工作。看起來像服務器不在任何SELECT *語句上工作,但與INSERT INTO語句一起工作。 – user5432778

+0

發佈你的完整密碼 – Saty

+0

我只是做@Saty – user5432778

0

刪除''試試這個代碼這樣的: -

mysql_query("Select * From Table ") 
+0

謝謝,但沒有擺脫錯誤@Rahautos – user5432778

+0

檢查您的連接設置,如用戶或密碼是否正確@ user5432778 –

+0

是啊我的用戶名或密碼是正確的,因爲我使用的連接文件具有所有我的連接的東西在它,我用它在不同的PHP文件 – user5432778

0

讓你獲得這種信息的,因此無法在該查詢mysql數據庫連接

-1
 
try using this in your connection.php: 
     `$host = 'your_host'; 
     $user = 'your_user'; 
     $pass = 'your_pass'; 

     $connect = mysql_connect($host,$user,$pass); 

     if($connect){ 
      echo "the connection was success"; 
     }else{ 
      echo "the coonection failed because".mysql_error(); 
     }` 
+0

連接有效。我認爲這是一個配置問題 – user5432778

0

試試這個

$result = mysqli_query($conn ,"SELECT * FROM table") or die(mysql_error()); 
0

嘗試這個 -

$result = $conn->query("SELECT * FROM table"); 
$result = $result->fetch_all(MYSQLI_ASSOC); 
foreach ($result as $result) 
{ 
    echo $result['id']; 
    // Another code 
} 
0

MySQL允許爲顆粒狀的權限,所以它可以允許一個用戶到INSERT而不是SELECT。您可以使用GRANT命令添加的SELECT權限,e.g

GRANT SELECT ON database.table TO 'user'@'localhost'; 

https://dev.mysql.com/doc/refman/5.7/en/grant.html