2016-05-04 38 views
-1

爲什麼會發生這種情況?查詢在PHPMyAdmin中運行,但不是從PHP文件中運行

SELECT count(*) FROM downloads WHERE downloadkey = '{$key}' LIMIT 1 

這是網頁上的輸出:連接到數據庫

下面的查詢,當我將其粘貼到的phpMyAdmin,但不是當我從一個PHP文件中運行它運行。 SELECT查詢失敗。 :

我也試過

$chk = mysql_query("SELECT count(*) FROM downloads"); 

其中也運行在phpMyAdmin,但不是從文件。網頁上的輸出相同。

以下是代碼。我試過'{$key}'的不同變化:

'$key' 
{$key} 
$key 

每次都是相同的輸出。

$res = mysql_connect("localhost", "username", "password"); 
if (!$res) { 
    echo mysql_errno($res) . ": " . mysql_error($res). "\n"; 
} 
else { 
    echo "Connected to database." . "\n"; 
} 

mysql_select_db("database", $res); 
$key = md5(microtime()); 
$chk = mysql_query("SELECT count(*) FROM downloads WHERE downloadkey = '{$key}' LIMIT 1"); 
//$chk = mysql_query("SELECT count(*) FROM downloads"); 
if (!$chk) {echo "The SELECT query failed." . "\n"; echo mysql_errno($chk) . ": " . mysql_error($chk) . "\n";} 
+0

您確實需要與我們分享您的一些代碼,以便我們能夠幫助您解決問題。到目前爲止,我們甚至不知道您使用的是哪種類型的數據庫連接代碼,那麼我們如何告訴您如何顯示錯誤? – GrumpyCrouton

+0

我明白了。我希望我發佈的代碼能夠澄清問題。 – jana

+0

對於向您提供原始問題答案以徹底改變問題的人來說,這真的很不公平!你應該回滾你的編輯,並給他他應得的功勞。然後用新信息發佈一個新問題。 –

回答

1

希望這有助於

function getConnection() { 

    $host="YOUR HOST"; 
    $port=3306; 
    $socket=""; 
    $user=" "; 
    $password=" "; 
    $dbname="your db name"; 

    @ $con = new mysqli($host, $user, $password, $dbname, $port, $socket); 

    if (mysqli_connect_errno()) { 
     echo "false"; 
     return false; 

    } else { 

     return $con; 
    } 
} 

你可以調用這個函數,它會返回false,如果有連接上的錯誤,並且會返回一個mysqli的對象,如果連接成功,這樣你就可以與你的數據庫交互。

+0

謝謝,我在上面添加了我的代碼,我希望這會讓我的難度更加清晰。 – jana

+0

mysql_connect已棄用,請使用mysqli函數或PDO!這是您可以使用mysqli連接的方式:\t 您的問題很少有解決方案。使用MySQLi的方式如下所示: $ connection = mysqli_connect('localhost','username','password','database'); – Nick

+0

我會試一試。謝謝。 – jana

相關問題