0

これは機能します。

function get_distinct_size_for_bracelets() {
    $sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type='plastic' ORDER BY size";
}

これは機能せず、エラー報告なしで php が停止します。

 function get_distinct_size_for_bracelets($myvalue) {
    $sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type=".$myvalue." ORDER BY size";
}

いくつかの構成を試しましたが、何も機能していません。

4

6 に答える 6

2
function get_distinct_size_for_bracelets($myvalue) {
    $sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type='".$myvalue."' ORDER BY size";
}

SQL クエリには一重引用符が必要です。

于 2009-08-05T15:42:06.887 に答える
2

渡された値を引用することを忘れないでください:

function get_distinct_size_for_bracelets($myvalue) 
{ 
$sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type=".$myvalue." ORDER BY size";
}

次のようにする必要があります。

function get_distinct_size_for_bracelets($myvalue) 
{ 
$sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type='".$myvalue."' ORDER BY size";
}

に一重引用符が追加されていることに注意してくださいtype

于 2009-08-05T15:42:27.087 に答える
0

MySQL にもさまざまなデータ型があります。また、文字列も引用符で囲む必要があります。

$sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type='".$myvalue."' ORDER BY size";

または、mysql_real_escape_string関数をさらに使用するとさらに良くなります:

$sql = "SELECT DISTINCT size FROM mytable WHERE id = 27 AND type='".mysql_real_escape_string($myvalue)."' ORDER BY size";
于 2009-08-05T15:44:24.667 に答える