gpt4 book ai didi

php - 将 PHP 变量与 MySQL 列中的值进行比较

转载 作者:行者123 更新时间:2023-11-29 07:33:15 30 4
gpt4 key购买 nike

只是一点帮助,这是一个非常简单的问题,但似乎无法正常工作。我只是将变量中的值与 sql 列中的所有值进行比较。就像我将用户名输入与 sql 列中的用户名列表进行比较一样。然而,这只是为了比较存储在该行的列中的项目 ID 不是已在使用的项目 ID。

我测试了从 sql 查询返回的值,它等于我在输入中键入的项目 ID。下面您将看到的是实际测试,看看我返回的 id 是否是我要查找的 id 以及我可以在其中找到该值的行的 id。我得到的结果是

2, 000002(这是正确的),这就是我正在寻找的。

$itemId = $_POST['itemId'];


if($sqlItemId = $dbCon->query("SELECT * FROM CVCinStoreCoins WHERE itemId = '$itemId'")){
while($data = $sqlItemId->fetch_assoc()){
printf("<p>%s, %s</p>", $data['id'], $data['itemId']);
die();
}

然后我把它拿出来并尝试比较变量中的值,该值与已存储的 itemId (000002) 相同。这就是我出错的地方。

我将代码修改为如下所示以进行进一步测试。看起来很简单,但我得到了一个 FALSE 响应,提供了后一个​​回显语句“Item Id is not in use”,但它在数据库中。根据我在 stackoverflow 中读到的内容,我尝试了几种不同的方法,但没有给我正确的答案。

    $sqlItemId = $dbCon->query("SELECT * FROM CVCinStoreCoins WHERE itemId = '$itemId'");

if($itemId == $sqlItemId){
echo "This item id is already in use. \n";
die();
} else {
echo "Item Id is not in use:";
die();
}

有一次,我什至在测试之前尝试使用 while 语句来获取关联的值,但这也没有得到积极的结果。有什么建议吗?

最佳答案

$sqlItemId中,您拥有完整的表行(如果有),而不仅仅是其ID;将 SQL 更改为计数并检查返回的行数(如果大于 0,则说明有重复行):

$rowsCount = $dbCon->query("
SELECT COUNT(*)
FROM CVCinStoreCoins
WHERE itemId = '$itemId'
");

我不知道$dbCon是什么(Doctrine DBAL?mysqli?),所以我无法告诉你如何使用查询的结果。

关于php - 将 PHP 变量与 MySQL 列中的值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31850628/

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