2016-05-04 40 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

相关问题