我如何确定状态并在 PHP MySQL 中执行操作

Posted

技术标签:

【中文标题】我如何确定状态并在 PHP MySQL 中执行操作【英文标题】:How can i determine status an do stuff in PHP MySQL 【发布时间】:2019-03-30 14:28:27 【问题描述】:

我尝试确定一条记录的状态是 0 还是 1。

我想使用下面看到的这段代码来确定在这种情况下barcode='D189404954' 中的特定项目是否有库存,如果有,其他的什么都不做。

但是当我运行下面的代码时,它一直说状态是 1,即使它是 0。

<?php

$link = mysqli_connect("localhost", "root", "", "watermeter");

// Check connection
if($link === false)
    die("ERROR: Could not connect. " . mysqli_connect_error());


$query = "SELECT statuswm
FROM users
WHERE barcode='D189404954'";

$result = mysqli_query($link, $query);
$row = $result->fetch_array(MYSQLI_NUM);

// See Value for test
//var_dump($row[0]);

if ($row[0] == 1)  
echo $row[0]; 
 else  
echo "not in stock";



// Close connection
mysqli_close($link);

?>

【问题讨论】:

【参考方案1】:

您的结果代码错误。 == 是比较运算符,而= 是赋值运算符。

if ($result = 1) 

应该是:

if ($result == 1) 

【讨论】:

然后我收到以下错误:注意:类 mysqli_result 的对象无法在第 19 行的 C:\xampp\htdocs\watermeters\test.php 中转换为 int 可恢复的致命错误:类对象mysqli_result 无法在第 22 行的 C:\xampp\htdocs\watermeters\test.php 中转换为字符串 在if语句前加$row = $result-&gt;fetch_array(MYSQLI_NUM);,然后把if语句改成if ($row[0] == 1) echo $result; else echo "not in stock 错误消失了,我将状态更改为 1 但一直说没有库存。谢谢拉尔夫的帮助 你能解释一下你的查询吗?如果您正在搜索条形码等于D189404954 的用户的状态,为什么不直接执行SELECT status FROM users WHERE barcode='D189404954' 另外,您可以在 if 语句之前使用 var_dump $row[0] 吗,这样我们就可以看到它得到了什么值. 我收到以下错误:Parse error: syntax error, unexpected '$row' (T_VARIABLE) in C:\xampp\htdocs\watermeters\test.php on line 17, var_dump $row[0 ]?,请求接收我发布的完整代码改变了您认为它应该工作的方式,感谢您抽出时间拉尔夫,但我们正在到达那里哈哈

以上是关于我如何确定状态并在 PHP MySQL 中执行操作的主要内容,如果未能解决你的问题,请参考以下文章

向群组发送推送通知

如何确定 utf8 数据编码错误并在 MySql 中更正?

确定 Android 设备中的 3G/WIFI 无线电状态机当前状态

iOS-如何创建离线操作队列并在上线时执行?

如何在 MySQL 数据库中显示日期和价格,并在 PHP 中以各种格式显示

我如何确定是不是选中了复选框以执行某些操作,然后未选中执行其他操作? [复制]