使用php从mysql数据库中提取信息

时间:2014-06-02 14:49:47

标签: php mysql html5

我试图根据用户输入的条件搜索mysql数据库。这里的脚本试图根据产品密钥提取条目。但是,当我搜索表中存在的密钥时,不会返回任何内容。我是非常新的PHP所以这个代码可能是完全错误的。这是我的代码:

<!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../css/style.css">

<title>
Inventory Home Page
</title>

<body>
<?php
    $link = mysqli_connect("localhost", "myaccount", "mypass", "Inventory");
    mysql_select_db("db_test", $link);
if(!$link){
    die ("Could not connect: " . mysql_error($link));
}

    $productKey = %product_key_search%;
    $query = mysql_query("select * from PC where pk=$productKey") or die(mysql_error($link));

    while($row=mysql_fetch_array($query)){
        echo 'Product Key: ' .$row['pk'];
        echo 'Make: ' .$row['make'];
        echo 'Model: ' .$row['model'];
        echo 'Type: ' .$row['type'];
        echo 'Content: ' .$row['content'];
        echo 'Status: ' .$row['status'];
        echo 'Workstation: ' .$row['asset'];
        echo 'Steam Account Number: ' .$row['steam_acct_num'];

    }

?>
</body>
</html> 

请帮助..

3 个答案:

答案 0 :(得分:0)

您的字符串值周围缺少引号。另外,如果您使用的是%通配符,则需要使用LIKE,而不是=

$query = mysql_query("select * from PC where pk=$productKey") or die(mysql_error($link));

应该是:

$query = mysql_query("select * from PC where pk LIKE '$productKey'") or die(mysql_error($link));

此外,如果您实际检查过代码中的错误,则会出现第一个错误。在尝试检索结果集之前,您应该使用mysqli_error()查看是否发生了错误。

您还应该将mysqli_fetch_array()更改为mysqli_fetch_assoc(),因为您不需要基于数字和键的索引数组结果。

而且,正如@Pitchinnate指出的那样,你混合了mysql和mysqli函数。这看起来像复制和粘贴代码。 之前你应该理解代码

答案 1 :(得分:0)

您正在使用mysqli_connect,其余的都是mysql_个功能。这些不能混合。

答案 2 :(得分:0)

试试这样。

<!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../css/style.css">

<title>
Inventory Home Page
</title>

<body>
<?php
    $link = mysql_connect("localhost", "myaccount", "mypass", "Inventory");
    mysql_select_db("db_test", $link);
if(!$link){
    die ("Could not connect: " . mysql_error($link));
}

   $statement = "select * from PC where pk LIKE %".$productKey."%";
    $query = mysql_query( $statement) or die(mysql_error($link));

    while($row=mysql_fetch_array($query)){
        echo 'Product Key: ' .$row['pk'];
        echo 'Make: ' .$row['make'];
        echo 'Model: ' .$row['model'];
        echo 'Type: ' .$row['type'];
        echo 'Content: ' .$row['content'];
        echo 'Status: ' .$row['status'];
        echo 'Workstation: ' .$row['asset'];
        echo 'Steam Account Number: ' .$row['steam_acct_num'];

    }

?>

</body>
</html>