PHP 如何查询数据库
在网站或小程序开发中,很多动态内容都离不开数据库的支撑,比如你打开一个购物网站看到的商品列表、登录账号时的身份验证,本质上都是从数据库里“找”来的数据。对于常用的PHP语言来说,查询数据库是最基础也最常用的操作,哪怕是刚入门的新手,只要搞懂几个关键步骤,就能轻松完成。
先搭好“沟通桥梁”:连接数据库
要让PHP能和数据库对话,得先建立连接,就像你要给远方的朋友打电话,得先拨通号码一样。PHP和MySQL(最常用的数据库类型)连接,有个专门的函数叫mysqli_connect,你只要把数据库的地址、用户名、密码和要操作的数据库名称填进去就行。比如你自己在电脑上练手,数据库地址一般是localhost,用户名大概率是root,密码如果是本地环境(比如XAMPP、WAMP),可能是空或者你自己设置的密码,数据库名称就填你提前建好的,比如叫shop。

连接的时候还要做个小检查:如果连接失败,得告诉自己哪里出问题了,比如密码输错了,或者数据库没启动。就像打电话拨不通,会显示“无法连接”,PHP也会返回错误信息,你可以用mysqli_connect_error把错误打印出来,方便找问题。连接成功后,整个操作过程就像打开了一条“数据通道”,接下来就能让PHP在通道里取数据了。
最常用的查询:查一条或多条数据
连接好之后,接下来就是核心的查询操作了,最常用的是mysqli_query函数,它的作用是把你写的“找数据的指令”发给数据库。这里的指令是SQL语句,举个生活化的例子:你在超市货架找苹果,货架就像数据库里的表,比如叫goods,苹果就是符合“水果类”“库存充足”条件的商品,对应的SQL就是SELECT * FROM goods WHERE category='水果' AND stock>0,意思是从goods表中找所有分类是水果、库存大于0的商品。
如果只是要查一条符合条件的数据,比如登录时查用户名是否存在,PHP会用mysqli_fetch_assoc把结果转成数组,这样你就能用变量名取数据了:比如$row['username']就能拿到用户名;如果要查多条数据,比如商品列表,就用while循环把每一行的数据都取出来,存成一个大数组,最后输出成列表或者表格就行。这里要注意,查询完最好把结果集关掉,就像打完电话挂线,用mysqli_free_result释放内存,避免占资源。
操作收尾:用完就“关通道”
就像打完电话要挂线,数据库操作完也得关闭连接,用mysqli_close就行。不过如果只是做简单的本地测试,不关闭也没关系,但实际项目里一定要关,不然数据库连接多了会出问题,就像电话不挂,占了线路别人就打不进来了。
举个完整的小例子:本地环境里,连接好shop数据库,查goods表的水果商品,把它们按列表输出,整个过程十几行代码就能搞定。只要记住三个核心步骤:先连数据库、再用SQL指令查询、最后拿结果用,PHP查询数据库就没那么难。哪怕是复杂的查询,本质也是把“找数据的条件”写成规范的SQL语句,再套进这几个步骤里就行,不用怕搞复杂的内容,从基础练熟,慢慢就能应对各种需求了。