PHP查询语句,有两种方法获得查询的总记录数。
一是使用mysql_num_rows函数,例子代码:
<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password")
mysql_select_db("database", $link)
$result = mysql_query("SELECT * FROM table1", $link)
$num_rows = mysql_num_rows($result)
echo "$num_rows Rows\n"
?>
二是修改查询语句,使用COUNT(*)作为查询内容,例子代码:
<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password")
mysql_select_db("database", $link)
$result = mysql_query("SELECT COUNT(*) FROM table1", $link)
list($num_rows) = mysql_fetch_row($result)
echo "$num_rows Rows\n"
?>
SELECT语句用于从数据库中选取数据。
语句1:SELECT
*
FROM
table_name
解说:意思就是读取整个表table_name里面的数据显示出来
语句1:SELECT
*
FROM
table_name
Where
x
=
1
解说:意思就是读取表table_name里面键名为:x
值为:1的
数据显示出来
例子:
?php
$con = mysql_connect("localhost","peter","abc123")
if (!$con)
{
die('Could not connect: ' . mysql_error())
}
mysql_select_db("my_db", $con)
$result = mysql_query("SELECT * FROM Persons")
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName']
echo "<br /
"
}
mysql_close($con)
?>数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。
这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:
mysql_query("SET NAMES GBK")或mysql_query("SET NAMES GB2312")来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:
mysql_query("SET
NAMES
UTF8")
注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass)
mysql_query("SET NAMES 'GBK'")
php使用mysql查询数据库已经有多少条数据使用sql的count函数实现。示例代码如下:
<?php
//数据库连接
$conn=mysql_connect("localhost","root","root")
if(!$conn){
die("对不起,数据库连接失败! ").mysql_errno()
}
//选择数据库
mysql_select_db("testdb")
//sql语句
$sql="SELECT COUNT(*) AS count FROM user"
//执行sql
$query=mysql_query($sql,$conn)
//对结果进行判断
if(mysql_num_rows( $query)){
$rs=mysql_fetch_array($query)
//统计结果
$count=$rs[0]
}else{
$count=0
}
echo $count
?>
返回的$count就是当前数据库的记录条数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)