【发布时间】:2013-06-16 16:42:27
【问题描述】:
以下代码有问题:
if(isset($_POST['submit'])){
$name = $_POST['productname'];
$sql= "SELECT quantity FROM products WHERE productid='$name'";
$amount= $sql + 0;
$quantitysold = $_POST['quantitysold'];
$amountsold = $quantitysold + 0;
var_dump($amountsold);
var_dump($amount);
if($amountsold > $amount){
echo 'Not enough product';}
else if($name && $quantitysold){
$query = $db->query("UPDATE products SET quantity=quantity-$quantitysold
WHERE productid='$name'");
$query = $db->query("DELETE FROM products WHERE quantity<'1'");}
else{
echo 'Incomplete Data';}
}
问题是 sql 被读取为字符串,而不是我希望将其重定向到的整数。这意味着我无法比较 $amount 和 $quantitysold。
我最近开始学习 PHP,所以这可能是一个新手错误。
【问题讨论】:
-
您需要将 $sql 字符串输入到函数中,例如 $result = $connection->query($sql);但这远不是一个完整的答案,因为您需要一堆其他行来创建与您的 sql 服务器的连接并从结果中提取数据。做一些关于'PDO mysql'的教程(google 'pdo mysql tutorial')
-
您是否阅读过 任何 教程以了解如何做到这一点,或者您是否刚刚开始编码?你从哪里知道这会起作用:
$sql= "SELECT quantity FROM products WHERE productid='$name'"; $amount= $sql + 0;
标签: php mysql post compare int