我是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>';
}
}
}
?>
答案 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中获取了表数据