gpt4 book ai didi

php mysql : UPDATE will only work WHERE data = integer

转载 作者:行者123 更新时间:2023-11-29 13:50:51 26 4
gpt4 key购买 nike

我是 php 和 mysql 的新手,所以我可能遗漏了一些明显的东西,但这里是:

我正在建立一个数据库来存储库存商品。每个商品都分配有一定数量的库存(例如 5)。每个商品都显示在我的网页上,旁边有按钮可以手动添加或从数据库中删除库存:

  $query = "SELECT * FROM classes";

// This uses a mysql function that act upon our $query variable above
$result = mysql_query($query);

// This is a loop that says "while there is data to display...keep looping round and displaying that data".
while($class_data = mysql_fetch_array($result)) {

// Now we are going to echo that data
echo
"<div class=\"classmanagertablecontent\">" . $class_data['name'] . "</div>
<div class=\"classmanagertablecontent\">" . $date['date'] . "</div>
<div class=\"classmanagertablecontent\">" . $class_data['stock'] . "</div>
<div class=\"classmanagertablecontent\">" . $class_data['button_paypal'] . "</div>";

<form action="../url.php" method="post">
<input type="hidden" name="button_paypal_fromform" value="<?php echo $class_data['button_paypal'] ?>">
<input type="submit" value="remove stock" name="remove stock">
</form>

<form action="../url.php" method="post">
<input type="hidden" name="button_paypal_fromform" value="<?php echo $class_data['button_paypal'] ?>">
<input type="submit" value="add to stock" name="add to stock" >
</form>
</div>
}

“添加到库存”按钮发布到的 URL 中的代码如下:

    <?php 
$button_paypal = $_POST['button_paypal_fromform'];

mysql_query("UPDATE classes SET stock = stock+1 WHERE button_paypal = ". $button_paypal ."");
?>

无论出于何种原因,WHERE button_paypal =“a number”它都有效.........但是如果button_paypal =“a string”它什么也不做。

我无法理解这个问题。我将使用的 Paypal 托管按钮由字母和数字组成,因此它需要与两者的组合一起使用。

我已经尝试过了...

echo "$button_paypal";

...在我的 url.php 页面上,按钮读起来很好(例如 SD76S9SFGV)

在我的数据库中“button_paypal”是一个文本字段,但我也尝试过VARCHAR。 STOCK 是一个 INT。

如果有人可以提供帮助,我将非常感激。谢谢。 #希望这个有意义

最佳答案

您需要做的就是将字符串值用单引号引起来:

<?php 

mysql_query( "UPDATE classes SET stock = stock+1
WHERE button_paypal = '{$_POST['button_paypal_fromform']}' ");

我将数组变量包装在 {} 括号中,因此您可以直接包含在双引号查询中(不需要像 ". $var . " 那样连接,也不需要创建当您可以直接引用它时是第二个变量)

关于php mysql : UPDATE will only work WHERE data = integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16700227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com