MySQL查询输出到PHP页面

时间:2016-10-21 16:37:21

标签: php mysql

我正在尝试制作一个简单的页面,它将从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到表值,我想理解为什么它不起作用。

2 个答案:

答案 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然后更改列名,这就是为什么我没有得到任何输出,所以使用别名解决了问题。