A. php sql 查询最后一条数据
SELECT * FROM 当前表
WHERE id = ( SELECT MAX( id ) FROM 当前表 WHERE userid= '10000' )
解释一下:首先括号里先查出此userid登录的所有记录,然后去max最大的id,最后把最大的id的记录查出来,即检索出上次此用户登录的信息
B. 原生php如何输出mysql最后执行的sql
$sql = 'XXXX';
echo $sql;
C. php+mysql,只取结果集的最后一行。
sql查询语句中有个排序的关键字:“order by”
例如:select * from userlist where username = '$lune' order by id desc
意思就是根据ID字段倒序查询(也可以其他字段),如果只查询一条:
select * from userlist where username = '$lune'order by iddesc limit 0,1
另:asc是正序,desc是倒序 ,limit 关键字必须放在查询语句末尾。
至于order by、limit等等关键字的详细使用,可以网络一下,这里一两句说不清楚。
D. PHP的PDO能不能打印出上一条执行的sql语句
打印sql语句,直接在你执行SQL语句后输出
$queries = DB::getQueryLog();
$a = end($queries);
$tmp = str_replace('?', '"'.'%s'.'"', $a["query"]);
echo vsprintf($tmp, $a['bindings']);
exit;
实例:
<?php
Route::get('/', function()
{
$arr['name']='zhuo';
$arr['email']='[email protected]';
$uid = DB::table('basic')->insertGetId($arr);
$queries = DB::getQueryLog();
/*
echo '<pre>';
var_mp($queries);
echo '</pre>';
//以下为得到结果。laravel默认方式使用了pdo的形式执行对数据库操作
array(1) {
[0]=>
array(3) {
["query"]=>
string(51) "insert into `basic` (`name`, `email`) values (?, ?)"
["bindings"]=>
array(2) {
[0]=>
string(4) "zhuo"
[1]=>
string(17) "[email protected]"
}
["time"]=>
float(2)
}
}
*/
//===========================================================
//转成源生的sql语句
if($uid == false)
{
$a = end($queries);
$tmp = str_replace('?', '"'.'%s'.'"', $a["query"]);
echo vsprintf($tmp, $a['bindings']);exit;
//结果;insert into `basic` (`name`, `email`) values ("zhuo", "[email protected]")
}
});
?>
E. php读取数据库最后一条记录。
可以在sql语句中进行排序,select * from tbl_rentinfo where uName='$uName' order by id desc.
F. php怎么获取数据库最后几条数据
$con = mysql_connect("localhost","root","");//连接数据库
mysql_select_db("btxiazai",$con);//选择数据库
mysql_query("set names utf8");
$sql = "select * from persons order by id desc limit 2";//获取persons中的数据,并按id倒叙排列,取其中两条
$get = mysql_query($sql);//执行sql
while($result = mysql_fetch_assoc($get)){//取回数据
}
G. php如何从mysql最后一条数据向前读取
$query="select*fromuserlistwhereusername='$lune'ORDERBYidDESCLIMIT1";
$result=mysqli_query($link,$query);
$row=mysqli_fetch_array($result);
echo$row['gangwei'];
最简单的方式,既然有ID,直接通过ID排序,取一条即可.
H. 原生php如何输出mysql最后执行的sql
方法一:
$link = mysql_connect("192.168.1.1", "myuser", "mypass");--连接数据库
if(FALSE == $link)
{
echo "Connect database failed!";
}
$query =
"select * from a order by id";
mysql_select_db('test', $link);--选择数据库
$result = mysql_query($query);--执行查询语句
if(FALSE == $result)
{
echo "Querry failed!";
}
$i = 0;
$j = 0;
while($i++ < mysql_num_rows($result))--取总行数
{
$meta_c=0;
if($meta_c=mysql_fetch_row($result))--取每一行的结果集
{
while($j < mysql_num_fields($result))--取一行的列数
{
echo $meta_c[$j;
}
echo "
";
} // while;
$j=0;
}
mysql_free_result($result);--释放结果集
mysql_close($link);--关闭连接
?>
方法二:
$link = mysql_connect("192.168.1.1", "myuser", "mypass");--连接数据库
if(FALSE == $link)
{
echo "Connect database failed!
";
}
mysql_select_db('test', $link);--选择数据库
$result = mysql_query("select * from a order by id");--执行查询语句
if(FALSE == $result)
{
echo "Querry failed!";
}
while($row = mysql_fetch_array($result, MYSQL_NUM))--取数组里面的值,因为结果集以二维数组存放
{
foreach ($row as $col_value)--一一取值
{
echo " $col_value ";
}
}
mysql_free_result($result);--释放结果集
mysql_close($link);)--关闭连接
?>