2017-02-10 9 views
0

ちょっと、私のデータベースで1行のコードを使ってmax idを取得しようとしています。PHPはデータベースから最大値を取得します

3つのコード行を使用せずにこのコードを実行すると良い方法があることがわかります。私のデータベースにxammpを使用しているもう1つのこと。

$result = @mysqli_query($connection, "SELECT MAX(Cust_ID) FROM customer"); 
$row = mysqli_fetch_row($result); 
$getlastID = $row[0]; 

私は誰かが、私を助けてくださいことを願っていました。

+2

3行を使用すると何が問題になりますか?私は、エラー抑制の使用法についてもっと心配しています。 – chris85

+0

これは間違っていませんが、1行はクエリを実行し、他の行は結果をフェッチして表示します。この '$ getlastID = mysqli_fetch_row($ result)[0]; 'で最後の2行を変更できます。あなたのPHPのバージョン。明らかに、mysqli_fetch_row(HERE)の中に 'mysqli_query'を置くことができ、全て1行にすることができます。 – matiaslauriti

+0

3行のコードを使っても何も問題ありません。しかし、できるだけコードの量を減らしたいだけです。 – Ahamed

答えて

0

実際には、mysqliには3つのステップがあります。 PDOを使用していた場合は、fetchColumnを使用して最後の2つのステップを1つにまとめることができます。

ただ、議論のために、あなた実際に行と直接結果をデリファレンスフェッチでクエリをラップすることにより、一つにコードのこれらの3本のラインを組み合わせることができます。

$id = mysqli_fetch_row(mysqli_query($connection, 'SELECT MAX(Cust_ID) FROM customer'))[0]; 

私はないだろうでもこのようにすることをお勧めします。これらの命令のそれぞれが別々のステートメントで実行されると、スクリプトをデバッグする方が簡単になります。一般的にコードは少なくなりますが、保守性を犠牲にすることはありません。


ところで、あなたはエラー制御演算子(@)を使用しないでください。エラーがある場合、それらについて知りたいので、無視するのではなく処理することができます。それにはいくつかの有効な用途があるかもしれませんが、これはおそらくその一つではありません。

関連する問題