-2
私はいくつかのデータを取得しようとしていますが、テーブルには "sysload"という名前のフィールドがあります。しかし、これはvar(文字列)型です。そのデータは "0.0、0.2、0.5"のように3つの数字をコンマで区切って示します。しかし、SQLでは、最後の数値(この例では0.5)だけを "where"で比較する必要があります。だから私はそれをどのように使うことができますか?私のコード:SQLで "explode"のようなPHPメソッドを使用する方法
$termquery=mysql_query("SELECT a.terminal FROM terminal_server_log a
inner join
(
SELECT terminal, MAX(timestamp) timestamp
FROM terminal_server_log
group by terminal
) b on (b.terminal=a.terminal and a.timestamp=b.timestamp)
WHERE explode(',', sysload)[2]>$number");
最後の行は、私は「$番号」で比較する、最も重要なものですが、私が「爆発」を使用することはできませんようです。ありがとう
クエリの変数外に爆発し、それを使用しています。 – GrumpyCrouton
[Little Bobby](http://bobby-tables.com/)によると[あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています](http://stackoverflow.com/questions/60174/how-cani-i- PHPでのSQLインジェクション防止)**。 [MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)の[Prepared Statements](http://en.wikipedia.org/wiki/Prepared_statement)について学んでください。 ** [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)**でも安全ではありません! – GrumpyCrouton
** **、新しいコードには 'mysql_ *'関数を使わないでください**。それらはもはや維持されず、コミュニティは[非推奨プロセス](http://news.php.net/php.internals/53799)を開始し、mysql_ *関数はPHP 7で正式に削除されました。 [prepared statements](https://en.wikipedia.org/wiki/Prepared_statement)について学び、 'PDO'か' mysqli_ * 'を使います。あなたが決定できない場合、[この記事はあなたの最善の選択肢を選ぶのに役立ちます](http://php.net/manual/en/mysqlinfo.api.choosing.php)。 – GrumpyCrouton