我如何确定状态并在 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->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 中执行操作的主要内容,如果未能解决你的问题,请参考以下文章
确定 Android 设备中的 3G/WIFI 无线电状态机当前状态