我正在尝试制作一个简单的页面,它将从MySQL表中返回值,但问题是如果我想在查询中使用condotions那么它就不起作用。
我的PHP页面:
<?php
$servername = "10.10.10.10";
$username = "username";
$password = "password";
$dbname = "GENERIC_TABLES";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT WO_NUM+1 from GENERIC_TABLES.WO_NUMBERS ORDER BY WO_NUM DESC limit 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<br> WO Number ". $row["WO_NUM"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
因此,WO_NUM列的数字如1,2,3等。 我想得到最后一个+ 1 所以,如果我喜欢:
$sql = "SELECT WO_NUM from GENERIC_TABLES.WO_NUMBERS ORDER BY WO_NUM DESC limit 1";
然后它工作正常,但如果我想把它变成WO_NUM + 1那么它什么也不返回。
为什么会发生这种情况,是否有任何方法可以使用MySQL获得我想要的东西? 我不想获得WO_NUM,然后使用PHP使其成为+ 1,因为我还需要INSERT到表值,我想理解为什么它不起作用。
答案 0 :(得分:1)
如您所知,WO_NUM+1
更改了结果数组中的列名,因此请使用别名WO_NUM+1 as NEW_NUM
。但是我不打扰排序和限制。考虑MAX()
:
SELECT max(WO_NUM)+1 as NEW_NUM from GENERIC_TABLES.WO_NUMBERS
答案 1 :(得分:0)
正如AbraCadaver指出的那样,我错过了如果我使用WO_NUM + 1然后更改列名,这就是为什么我没有得到任何输出,所以使用别名解决了问题。