2016-10-21 14 views
0

MySQLテーブルから値を返す単純なページを作成しようとしていますが、クエリでcondotionsを使用したい場合、動作しません。PHPへの出力を伴うMySQLクエリ

私の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 + 1 を取得したい1、2、3など のような数字を持っています

$sql = "SELECT WO_NUM from GENERIC_TABLES.WO_NUMBERS ORDER BY WO_NUM DESC limit 1"; 

それは正常に動作しますが、WO_NUM + 1にしたい場合は何も返しません。

なぜそれが起こり、MySQLを使用して私が望むものを得る方法がありますか? WO_NUMを取得したくないのですが、PHPを使用するとテーブル値にINSERTする必要があるので、+ 1にしてください。なぜ動作しないのか理解したいと思います。

+1

???:MAX()を考えてみましょう – AbraCadaver

+0

まさに!私はWO_NUM + 1を使用すると列名が変更されてしまい、結果が得られなかったことに気づきませんでした。エイリアスを使用して問題を解決しました。ありがとうございます@AbraCadaver、これを指して私の時間を節約しました... – Roman

答えて

1

実現したように、WO_NUM+1は、結果の配列の列名を変更するので、別名を使用してください。しかし、私は並べ替えと制限を気にしません。 GENERIC_TABLES.WO_NUMBERS`からNEW_NUMとして最大(WO_NUM)+1を選択 `

SELECT max(WO_NUM)+1 as NEW_NUM from GENERIC_TABLES.WO_NUMBERS 
0

AbraCadaverが指摘しているように、WO_NUM + 1を使用している場合はカラム名が変更されているので、私はそれを逃しました。

+0

@AbraCadaver Answerを受け入れてください。 –

関連する問題