1

特定の値を超える ID を持つすべてのサービスを返す MYSQL クエリを実行しようとしています。次のような「id」と比較して静的な値を使用すると、クエリは正常に機能します。

$query = "SELECT id, name FROM services WHERE id > '14'";
    if ($query_run = mysqli_query($link, $query)) {
        while ($results = mysqli_fetch_array($query_run)) {
            echo $service_id = $results['id'].'<br>';
            echo $service_name = $results['name'].'<br>';
        }
    } else {
        echo mysqli_error($link);
    }

ただし、次のような変数を使用する場合:

$query = "SELECT id, name FROM services WHERE id > $service_id";
    if ($query_run = mysqli_query($link, $query)) {
        while ($results = mysqli_fetch_array($query_run)) {
            echo $service_id = $results['id'].'<br>';
            echo $service_name = $results['name'].'<br>';
        }
    } else {
        echo mysqli_error($link);
    }

クエリは値を返しません

4

2 に答える 2

3

値をハードコーディングするときは、引用符で囲みます。$service_id が文字列として表されていることを確認してください。

試す

$query = "SELECT id, name FROM services WHERE id > '$service_id'";
    if ($query_run = mysqli_query($link, $query)) {
        while ($results = mysqli_fetch_array($query_run)) {
            echo $service_id = $results['id'].'<br>';
            echo $service_name = $results['name'].'<br>';
        }
    } else {
        echo mysqli_error($link);
    }
于 2013-07-29T13:41:50.247 に答える