10/10/2018, 00:24
[PHP/MYSQL] lệnh select Max() lạ quá
Giả sử mình có bảng hoso như sau:
+----+------+
| id | name |
+----+------+
| 1 | dung |
| 2 | tuan |
| 3 | tuan |
| 4 | toan |
| 5 | toan |
| 6 | toan |
| 7 | toan |
| 8 | toan |
| 9 | toan |
| 10 | toan |
| 11 | toan |
| 12 | toan |
| 13 | toan |
| 14 | toan |
+----+------+
Khi truy vấn trong chương trình quản trị cơ sở dữ liệu:
select max(id) from `hoso`; thì kết quả là:
+---------+
| max(id) |
+---------+
| 14 |
+---------+
Nhưng khi dùng PHP với đoạn code:
Thì lại nhận được giá trị là 3
Bạn nào biết tại sao không ? Xin hãy giúp với.
+----+------+
| id | name |
+----+------+
| 1 | dung |
| 2 | tuan |
| 3 | tuan |
| 4 | toan |
| 5 | toan |
| 6 | toan |
| 7 | toan |
| 8 | toan |
| 9 | toan |
| 10 | toan |
| 11 | toan |
| 12 | toan |
| 13 | toan |
| 14 | toan |
+----+------+
Khi truy vấn trong chương trình quản trị cơ sở dữ liệu:
select max(id) from `hoso`; thì kết quả là:
+---------+
| max(id) |
+---------+
| 14 |
+---------+
Nhưng khi dùng PHP với đoạn code:
PHP Code:
$lienket=mysql_connect("localhost","root","");
mysql_select_db("test",$lienket);
$tv1="select Max(id) from `hoso`";
$a=mysql_query($tv1,$lienket);
echo ($a);
Bạn nào biết tại sao không ? Xin hãy giúp với.
Bài liên quan
For other type of SQL statements, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.
The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.
mysql_select_db("test",$lienket);
$tv1="select Max(id) as max_val from `hoso`";
$a=mysql_query($tv1,$lienket);
$result = mysql_fetch_array($a);
echo ($result['max_val']);
$row = mysql_fetch_array($a);
echo $row['max(id)'];
$a=mysql_query($tv1,$lienket);
$result = mysql_fetch_array($a);
echo ($result['max_val']);
echo $row['max(id)'];
Dù sao cũng cám ơn các bạn.
Bạn phải đặt tên cho cột max(id) rùi mới lấy giá trị tốt đc. VD 1 trên là đúng vì bạn đã đặt tên là select Max(id) as max_val
Còn VD 2 thì chưa có đặt tên, nên sai.
Ngoài ra bạn cũng phải cẩn thận trong việc lập trình phân biệt code Hoa và Thường nha
mình chưa hiêủ lắm chỗ này :
Code :
$select = "select id from hoso";
$result = mysql_query($select,$conn);
$array = mysql_fetch_array($result);
$maxid = max($array);
Không biết đúng ko? mong các bạn chỉ thêm
$result = @mysql_query('SELECT MAX(id) AS value FROM hoso');
$max = @mysql_fetch_array($result);
echo "MAX: {$max***91;'value'***93;}";