PHP数据库查询

Posted xiaoyi9812

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP数据库查询相关的知识,希望对你有一定的参考价值。

php数据库查询

在Web开发中,数据库查询是非常常见的操作。PHP提供了很多常用的数据库查询函数,下面对其中的五个函数进行详细解释。

1. PDO

使用PDO连接mysql数据库。

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";

try 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功";
 catch(PDOException $e) 
    echo "连接失败: " . $e->getMessage();


在上面的例子中,我们连接了一个名为mydatabase的MySQL数据库。

2. prepared statement

使用prepared statement执行一条SQL语句。

$sql = "SELECT * FROM mytable WHERE id=:id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->execute();

while ($row = $stmt->fetch()) 
    echo "id: " . $row["id"] . " - Name: " . $row["name"] . "
";


在上面的例子中,我们执行了一条SELECT语句,并将结果打印到页面上。

3. fetch()

使用fetch()方法从查询结果集中获取一行数据。

while ($row = $stmt->fetch()) 
    echo "id: " . $row["id"] . " - Name: " . $row["name"] . "
";


在上面的例子中,我们从查询结果集中获取了一行数据,并将其打印到页面上。

4. closeCursor()

使用closeCursor()方法关闭游标,释放与查询结果集相关的资源。

$stmt->closeCursor();

在上面的例子中,我们关闭了游标,释放了与查询结果集相关的资源。

5. try-catch

使用try-catch块捕获SQL语句执行产生的错误信息。

try 
    $stmt->execute();
 catch (PDOException $e) 
    echo "查询失败: " . $e->getMessage();


在上面的例子中,我们使用try-catch块捕获SQL语句执行产生的错误信息,并将其打印到页面上。

除了上述这些函数外,PHP还提供了其他相关的数据库操作函数。例如,rowCount()方法可以用来获取查询结果集中的行数,beginTransaction()、commit() 和 rollback()方法可以用来实现事务等等。

总的来说,PHP数据库查询是Web开发中非常常见的一部分。掌握这些数据库查询函数可以让我们更好地查询和处理数据库,使我们的Web应用程序更加强大和稳定。

另外,在Web开发中,还有许多其他与数据库操作相关的技术和工具,例如ORM框架、数据迁移和数据库设计等等。这些功能都可以通过PHP和其他相关技术来实现。希望这篇文章能够对您有所帮助。

php实现查询数据库数据,每次限定1000条

参考技术A $mysqliObj = new mysqli("数据库服务器", "数据库用户","数据库表名", "数据库明");
//字符集
$mysqliObj->query("set names utf8");
$result = $mysqliObj->query("select * from 表名 limit 1000");
$data=array();
while(@$row=$result->fetch_array())
$data[]=$row;
追问

如果数据有100000条,应该怎么循环呢?

追答

//select * from 表名 limit 0,1000;
//select * from 表名 limit $i,$j;$i是表示从第几条开始取$j表示取几条
$mysqliObj = new mysqli("数据库服务器", "数据库用户","数据库表名", "数据库明");
//字符集
$mysqliObj->query("set names utf8");
$data=array();
for($i=0;$query("select * from 表名 limit $i*1000,1000");
while(@$row=$result->fetch_array())
$data[]=$row;


print_r($data);
//for($i=0;$<1000,$i++ )
//select * from 表名 limit $i*1000,1000;
//

参考技术B 第一种方法:查询时候直接统计

代码如下:
$sql="SELECT COUNT(*) AS count FROM TABLE
WHERE id='$id'";
$result=mysql_fetch_array(mysql_query($sql));

$count=$result['count'];

第二种方法:先取出,后统计

代码如下:
$sql="SELECT * FROM TABLE WHERE id='$id'";

$result=mysql_fetch_array(mysql_query($sql));

$count=count($result);//或者$count=mysql_num_rows($result);追问

非常感谢,就是如果大约一张表有100000条数据,每次查询1000条,循环查询完整张表存入数组,该怎么做?

以上是关于PHP数据库查询的主要内容,如果未能解决你的问题,请参考以下文章

php+mysql 如何优化千万级数据模糊查询加快

php查询sql表中数据,存在则返回显示1,不存在显示0

sql语句查询mysql怎么取前几天的数据

SQL(MySQL + PHP) 查询,查询排名,表内一个人多条数据,查出最大的那条排名,请问!

php mysql怎样得到查询数据库里面数字的累计数

php SQL 查询