2015-11-20 49 views
1

由于某种原因,当我尝试执行此PHP代码时,我的第一个选择命令失败,我找不到原因。任何帮助,将不胜感激。会话开始很好,据我所知,当我从产品表执行查询选择时问题出现了。它已被正确定义,并且所有值都已正确插入,否则其他站点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

我敢打赌,如果您将您的代码缩小到有问题的部分,您的问题将更加重视。很多人会看你的代码,认为“没有办法”,接下来的问题。 – Amarnasan

+0

要执行查询,请使用'mysqli_query($ dbc,$ query)',而不是'mysqli_connect()'。 –

+0

你为什么要用“mysqli_connect”查询 –

回答

1

使用mysqli_query

mysqli_query($dbc,$query)or die('SELECT command failed. ' . mysqli_error($dbc)); 
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

尝试这些然后告诉我们您的代码行有错误,他们都报告了什么精确的错误。

+0

好吧我得到了我应该现在使用查询的事实。而不是连接。但其他的东西对我来说意义不大。因为我不知道你的意思 – Diana

+0

阅读这些**准备声明** - http://php.net/manual/en/mysqli.quickstart.prepared-statements.php和**错误报告** - http ://php.net/manual/en/function.error-reporting.php – OmniPotens