0
を取得しようと、私は私のDBに以下のデータのいくつかの行の持っている間問題を「選択」:mysqlの最小値
name price
iphone 1000
iphone 888
iphone 1010
を私はiPhoneのために最も安い価格を取得しようとしていますが、私のスクリプトが返されます最も高価な1
class getdbdata {
function cheapestprice($nameofproduct) {
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mobilephones";
$pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username,
$password);
$sql = ("SELECT name,price FROM phones where name like
'%".$nameofproduct."%' and price =(SELECT MIN(price) FROM phones)");
$stmt = $pdo->prepare($sql);
$stmt->execute() ;
$posts= $stmt->fetch() ;
foreach ($posts as $post) {
echo $post;
}
var_dump($posts);
}
}
$getdbdata = new getdbdata();
$getdbdata->cheapestprice("iphone");
。代わりに 'SELECT name、MIN(price)FROM phones WHERE name like:name GROUP BY name'を使用することができます。 – jeroen
これは、データベースのカラム "price"のタイプに関するものです... varcharではなくdoubleまたはfloatであることを確認してください。 –