-1

我正在尝试连接php和mysql。

这是代码:

<?php

$response=array();
require_once 'C:\wamp\www\android_connect\db_connect.php';
$db=new DB_CONNECT();


$result=mysql_query("select * from product")or die(mysql_error());

if(mysql_num_rows($result)>0)
{
    $response["products"]=array();

    while($row=mysql_fetch_array($result))
    {
        $product=array();
        $product["pid"]=$row["pid"];
        $product["name"]=$row["name"];
        $product["price"]=$row["price"];
        $product["description"]=$row["description"];

        array_push($response["products"],$product);
    }
    $response["success"]=1;
}
else
{
    $response["success"]=0;
    $response["message"]="No products found";
}
echo json_encode($response);

?>

当我尝试使用WAMP安装在我的计算机上打开文件时,它会引发以下错误:

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in C:\wamp\www\android_connect\get_all_products.php on line 8

Warning: mysql_query(): A link to the server could not be established in C:\wamp\www\android_connect\get_all_products.php on line 8

在我的情况下,第 8 行是:

$result=mysql_query("select * from product")or die(mysql_error());

代码如下db_connect:_

<?php

class DB_CONNECT
{

    function _construct()
    {
        $this->connect();
    }

    function _destruct()
    {
        $this->close();
    }

    function connect()
    {
        $con=mysql_connect('localhost','root','kamani') or die (mysql_error());
        $db=mysql_select_db('mobileinventory') or die (mysql_error());
        return $con;
    }

    function close()
    {
        mysql_close();
    }
}

?>

要在此处完成查看错误,我正在上传其快照。 在此处输入图像描述

无法解决这个错误

4

3 回答 3

7

您必须为魔术方法添加两个下划线:

function __construct() {
  $this->connect();
}

在其他地方,构造函数和连接方法将永远不会被调用。与 __destruct() 方法相同。

而且您不应该使用 PHP 的 mysql 扩展,因为它已被弃用并在 PHP 的下一个版本中被删除。请改用 PDO 或 mysqli。

于 2013-10-30T09:04:43.327 回答
1

你所要做的

$db=new DB_CONNECT();
$db->connect();

看来您没有连接到数据库,或修复@TiMESPLiNTER 建议

于 2013-10-30T09:05:38.200 回答
1

在数据库文件中,您还必须将构造函数(和析构函数)更改为

 function __construct()
 {
    $this->connect();
}

function __destruct()
{
    $this->close();
}
于 2013-10-30T09:06:46.327 回答