SELECT命令失败会有原因吗?

时间:2015-11-20 07:40:53

标签: php

出于某种原因,当我尝试执行此PHP代码时,我的第一个选择命令失败,我无法弄清楚原因。任何帮助,将不胜感激。据我所知,当我执行从products表中选择的查询时,会话就开始了。它已被正确定义,并且所有值都已正确插入其他方面,因为网站Products无法正常显示。但由于我的select命令存在问题,我无法向购物车添加任何内容。

<?php

session_start();

$productID = $_POST["productID"];
$cartNumber = $_SESSION["cartNumber"];

require_once('appVars.php');
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
   or die('Could not connect to MySQL server as CIS55Student, cis55 database.');

$query = "SELECT * FROM products_nalanirowe WHERE productID = '$productID'";
$rs = mysqli_connect($dbc, $query) or die('SELECT command failed. ' . mysqli_error($dbc));

    $num_rows = mysqli_num_rows($rs);
    $row = mysqli_fetch_array($rs);
    $productName = $row['productName'];
    $productPrice = $row['productPrice'];

if ($cartNumber <> "") {
    $query = "SELECT * FROM cart_nalanirowe WHERE cartNumber = '$cartNumber' and ProductID = '$productID'";
    $rs = mysqli_connect($dbc, $query) or die('SELECT command failed. ' . mysqli_error($dbc));
    $num_rows = mysqli_num_rows($rs);
    if ($num_rows == 0) {
        $query = "INSERT INTO cart_nalanirowe VALUES ('$cartNumber', '$productID', '$productName', CURDATE(), CURTIME() )";
        $rs = mysqli_connect($dbc, $query) or die('INSERT INTO command failed. ' . mysqli_error($dbc));
    }
    else {
    }
}
else {
    $query = "SELECT * FROM cart_nalanirowe ORDER BY cartNumber DESC";
    $rs = mysqli_connect($dbc, $query) or die('SELECT command failed. ' . mysqli_error($dbc));
    echo '<br>Selected record from table cart_nalanirowe';
    $row = mysqli_fetch_array($rs);
    $lastCartNumber = $row['cartNumber'];
    $newCartNumber = $lastCartNumber + 1;

    $query = "INSERT INTO cart_nalanirowe VALUES ('$newCartNumber', '$productID', '$productPrice', CURDATE(), CURTIME() )";
    $rs = mysqli_connect($dbc, $query) or die('INSERT INTO command failed. ' . mysqli_error($dbc));
    $_SESSION["cartNumber"] = $newCartNumber;
}


    mysqli_close($dbc);
    ob_start();
    header("Location: viewcart.php");


ob_flush();
?>

2 个答案:

答案 0 :(得分:1)

使用mysqli_query

mysqli_query($dbc,$query)or die('SELECT command failed. ' . mysqli_error($dbc));

答案 1 :(得分:1)

我希望你先了解一下:

  • 启用错误报告,以便在开发级error_reporting(E_ALL ^ E_NOTICE);
  • 时为您提供帮助
  • 使用mysqli_query($dbc,$query)or die('SELECT command failed. ' . mysqli_error($dbc));而非mysqli_connect($dbc,$query);
  • 使用准备好的声明进行查询以避免 SQL INJECTION

尝试这些,然后告诉我们您的代码行有错误以及他们报告的确切错误。