如何检查mysqli连接是否正常工作?

时间:2015-07-06 16:31:14

标签: php

我是php的新手,我正在尝试创建自己的php shop cart。经过一番研究后,我陷入了功能性产品的困境。下面因为在我看来它不能正常工作。我希望在我的mysql数据库上看到我的产品的名称,但它没有显示任何内容。我的用户名是noivaemd_etalhes,我使用的是正确的密码,我的数据库名称是noivaemd_cart,我在这个数据库中创建了一个名为Products的表,其中包含我的产品列表。任何人都可以帮我弄清楚我在下面的php指令上做错了什么?我感谢任何帮助。

<?php 

session_start();
$page = 'index.php';

function products()  {
        $con = mysqli_connect("localhost", "noivaemd_etalhes", "mypassword", "noivaemd_cart") or die (mysqli_error());
        $res = mysqli_query($con, "SELECT id, name, description, price FROM Products WHERE quantity > 0 ORDER BY id DESC");
        if (mysqli_num_rows($res)==0) {
        echo "<font family=verdana><font size=6px><font color= #90882C><font style=normal><font variant= normal><br>No products available<br></font>";
            }
        else{
        while($get_row = mysqli_fetch_assoc($res)) {
                echo '<p>'.$res['name'].'</p>';
        }
    }
}

?>

2 个答案:

答案 0 :(得分:6)

此代码:

while ($get_row = mysqli_fetch_assoc($res)) {
    echo '<p>'.$res['name'].'</p>';
}

应该是:

while ($get_row = mysqli_fetch_assoc($res)) {
    echo '<p>'.$get_row ['name'].'</p>';
}

由于您的标题还要询问如何检查mysqli数据库连接是否成功,您可以使用以下代码:

$con = mysqli_connect("localhost","my_user","my_password","my_db");

// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

参考链接:http://www.php.net/manual/en/function.mysqli-connect.php

答案 1 :(得分:0)

直接在代码中连接数据库并不是一种好习惯。打开另一个文件,并将其保存为“dbconnect.php”或您选择的任何名称。将其保存在同一个根目录中。

在内部数据库连接中,您可以像这样连接到数据库:

<?php
$mysql_host = "localhost"; 
$mysql_user = "username"; 
$mysql_pass = ""; 
$mysql_dbname = "Products"; 
$conn_error = "Sorry, Could Not Connect"; 

if(!@mysql_connect($mysql_host,$mysql_user,$mysql_pass)||!@mysql_select_db($mysql_dbname)){
    die($conn_error); 
}
?>

在你的index.php中,在你的php标签里面写'require'dbconnect.php“;'。

然后你得到这样的价值观:

$InfoQuery = " SELECT id, product, name FROM table_name WHERE quantity>0 ORDER BY id DESC"; 
    $Info = mysql_query($InfoQuery); 
    while($InfoRow=mysql_fetch_assoc($Info)){echo "<p>".$InfoRow['id']."<br>". $InfoRow['product']"."<br>". $InfoRow['name']."</p>";}

编辑:你做错了是在你的while循环中,当你从$ get_row

获取时,你从$ res中获取了表数据