php 连接mysql

@屏蔽错误信息,error_reporting(0),也是屏蔽错误信息

连接数据库时,如有有错就报错误信息

  1. $m[email protected]new mysqli(‘localhost‘,‘rootr‘,‘‘,‘db‘);
  2. $m->set_charset(‘utf8‘);
  3. if($m->connect_error){
  4. echo $m->connect_error;
  5. exit;
  6. }
  7. $m->close();//关闭数据库连接

不提示警告错误error_reporting(0);

连接数据库

$conn = mysql_connect(‘localhost‘,‘root‘,‘‘);

设置连接数据库的编码字符集为utf8

mysql_query(‘set names utf8‘,$conn);

选择数据库

mysql_select_db(‘db‘,$conn);

执行创建数sql据库语句

创建数据库

mysql_query(‘create database db‘,$conn);

删除数据库

mysql_query(‘drop database if exists db‘,$conn);

插入一条信息

$t = time();

$ip = $_SERVER[‘REMOTE_ADDR‘];

$sql = "insert into guest values(null,‘张三‘,‘公司位置?‘,‘公司在哪里,电话是多少‘,$t,‘$ip‘)";

给数据库发送一条执行指令

mysql_query($sql,$conn);

关闭数据库连接

mysql_close($conn);

删除数据

$m->query(‘delete from stu where id in(1,2,3)‘);

$m->close();

预处理语句删除数据

$stmt=$m->prepare(‘delete from stu where id in(?,?)‘);

$id1=12;

$id2=4;

$stmt->bind_param(‘ii‘,$id1,$id2);/ii表示2个整数

$stmt->execute();

$stmt->close();

修改数据

$m->query("update stu set name==‘李四‘where id=2");

预处理语句修改数据

$stmt=$m->prepare(‘update stu set name=? where id =?‘);

$stmt->bind_param(‘si‘,$name,$id);

$name=‘张三‘;

$id=11;

$stmt->execute();

使用预处理语句查询

$stmt=$m->prepare(‘slect * from sta‘);

$stmt->execute;

$result=$stmt->get_result();

while($rs=$result->fetch_row(){

print_r($rs);

}

$stmt->free_result();

mysql_list_dbs();列出数据库

mysql_get_client_info()取得mysql的客户端信息

mysql_get_host_info()取得主机信息

mysql_get_proto_info()取得协议信息

mysql_get_server_info()取得服务器信息

mysql_result($result,2,1)表示查询的第二行第1列位置的数据显示结果为赵六

查询数据库里面的信息有几条

  1. $conn=@mysql_connect(‘localhost‘,‘root‘,‘‘);
  2. mysql_query(‘set names utf8‘,$conn);
  3. mysql_select_db(‘db‘,$conn);
  4. $result=mysql_query(‘select count(*) from guest‘,$conn);
  5. echo mysql_result($result,0);
  6. mysql_close($conn);

1

查询显示姓名时间

  1. $conn=@mysql_connect(‘localhost‘,‘root‘,‘‘);
  2. mysql_query(‘set names utf8‘,$conn);
  3. mysql_select_db(‘db‘,$conn);
  4. $result=mysql_query(‘select gname,gtime from guest‘);
  5. if($rs=mysql_fetch_row($result)){
  6. echo ‘姓名:‘.$rs[0].‘时间:‘.date(‘Y-m-d H:i:s‘,$rs[1]).‘<br>‘;
  7. }
  8. mysql_close($conn);

  1. $conn=@mysql_connect(‘localhost‘,‘root‘,‘‘);
  2. mysql_query(‘set names utf8‘,$conn);
  3. mysql_select_db(‘db‘,$conn);
  4. $result=mysql_query(‘select gname,gtime from guest‘);
  5. echo ‘<pre>‘;
  6. if($rs=mysql_fetch_row($result)){
  7. print_r($rs);
  8. }
  9. mysql_close($conn);

mysql_fetch_assoc($result)显示关联下标名称

  1. $conn=@mysql_connect(‘localhost‘,‘root‘,‘‘);
  2. mysql_query(‘set names utf8‘,$conn);
  3. mysql_select_db(‘db‘,$conn);
  4. $result=mysql_query(‘select gname,gtime from guest‘);
  5. echo ‘<pre>‘;
  6. if($rs=mysql_fetch_assoc($result)){
  7. print_r($rs);
  8. }
  9. mysql_close($conn);

mysql_fetch_array($result)打印输出关联下标及名称,打印两遍浪费内存

  1. $conn=@mysql_connect(‘localhost‘,‘root‘,‘‘);
  2. mysql_query(‘set names utf8‘,$conn);
  3. mysql_select_db(‘db‘,$conn);
  4. $result=mysql_query(‘select gname,gtime from guest‘);
  5. echo ‘<pre>‘;
  6. if($rs=mysql_fetch_array($result)){
  7. print_r($rs);
  8. }
  9. mysql_close($conn);

mysql_free_result($result);释放内存

=unset($result);

echo mysql_num_fields($result);查询有多少列信息

echo mysql_affected_rows();显示上一次的mysql操作影响了几行可以用来判断是否执行正确

mysqli创建数据库删除数据库

  1. $conn=mysqli_connect(‘localhost‘,‘root‘,‘‘,‘db‘,3306);
  2. //创建数据库
  3. //mysqli_query($conn,‘create database da2‘);
  4. //如果存在删除数据库
  5. $stmt=mysqli_prepare($conn,‘drop database if exists da2‘);
  6. mysqli_execute($stmt);
  7. mysqli_close($conn);

使用预处理语句,查询数据库信息

  1. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  2. $m->set_charset(‘utf8‘);
  3. $r=$m->query(‘select user from mysql.user‘);
  4. while($rs=$r->fetch_row()){
  5. print_r($rs);
  6. }
  7. $r->free();//释放查询结果$r所占用的内存
  8. $m->close();//关闭数据库连接

$m->select_db(‘mysql‘);//切换当前连接指定的数据库

$r=$m->query(‘select user from user‘);//从数据库中查询信息

if($rs=$r->fetch_row()){

print_r($rs);

}

mysql 释放内存

mysql_free_result($result);

使用预处理语句实现数据的插入

  1. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  2. $m->set_charset(‘utf8‘);
  3. //使用预处理语句,实现数据插入
  4. $n=‘张三丰‘;
  5. $stmt=$m->prepare(‘insert into stu values(null,?)‘);
  6. $stmt->bind_param(‘s‘,$n);
  7. $stmt->execute();
  8. $stmt->free_result();
  9. //释放查询结果$r所占用的内存
  10. $m->close();//关闭数据库连接

预处理查询语句,一定要用while语句,使用if只会显示一条信息

  1. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  2. $m->set_charset(‘utf8‘);
  3. $result=$m->query(‘select * from stu‘);
  4. echo ‘<pre>‘;
  5. while($rs=$result->fetch_row()){
  6. print_r($rs);
  7. }
  8. $m->close();//关闭数据库连接

删除数据

  1. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  2. $m->set_charset(‘utf8‘);
  3. $m->query(‘delete from stu where sid in(1,2)‘);
  4. $m->close();//关闭数据库连接

使用预处理删除数据

bind_param(‘ii‘,$id1,$id2);

ii表示后面跟了2个变量,也可用s,d

  1. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  2. $m->set_charset(‘utf8‘);
  3. $stmt=$m->prepare(‘delete from stu where sid in (?,?)‘);
  4. $id1=3;
  5. $id2=4;
  6. $stmt->bind_param(‘ii‘,$id1,$id2);
  7. $stmt->execute();
  8. $m->close();//关闭数据库连接

修改数据

  1. $host = ‘localhost‘;
  2. $user = ‘root‘;
  3. $pass = ‘‘;
  4. $dbname = ‘db‘;
  5. $charset = ‘utf8‘;
  6. $m = new mysqli($host,$user,$pass,$dbname);
  7. $m->set_charset($charset);
  8. $m->query("update stu set sname=‘李四‘ where sid=7");

用预处理语句修改数据信息

  1. <?php
  2. $host = ‘localhost‘;
  3. $user = ‘root‘;
  4. $pass = ‘‘;
  5. $dbname = ‘db‘;
  6. $charset = ‘utf8‘;
  7. $m = new mysqli($host,$user,$pass,$dbname);
  8. $m->set_charset($charset);
  9. $stmt=$m->prepare(‘update stu set sname=? where sid=?‘);
  10. $stmt->bind_param(‘ss‘,$name,$id);
  11. $name=‘赵六六‘;
  12. $id=7;
  13. $stmt->execute();
  1. <?php
  2. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  3. if($m->connect_error){
  4. exit(‘数据库连接失败请检查....‘);
  5. }
  6. if($stmt=$m->prepare(‘select count(*) from member where maccount=?‘)){
  7. $stmt->bind_param(‘s‘,$account);
  8. $account=‘222‘;
  9. $stmt->execute();
  10. $stmt->bind_result($count);
  11. $stmt->fetch();
  12. $stmt->free_result();
  13. $stmt->close();
  14. echo ‘结果是:‘.$count;
  15. }
  16. $m->close();
  17. //返回结果1表明有这个用户名
  1. <?php
  2. $m=new mysqli(‘localhost‘,‘root‘,‘‘,‘db‘);
  3. $m->set_charset(‘utf8‘);//指定字符集
  4. if($m->connect_error){
  5. exit(‘数据库连接失败请检查....‘);
  6. }
  7. if($stmt=$m->prepare(‘select * from member‘)){
  8. $stmt->execute();
  9. $result=$stmt->get_result();
  10. $rows=$result->fetch_all(MYSQLI_NUM);
  11. echo ‘<pre>‘;
  12. print_r($rows);
  13. }

fetch_all(MYSQLI_NUM)=2

fetch_all(MYSQLI_ASSOC)=1

fetch_all(MYSQLI_BOTH)=3

echo MYSQLI_NUM,MYSQLI_ASSOC,MYSQL_BOTH;

来自为知笔记(Wiz)

时间: 2024-10-04 23:07:11

php 连接mysql的相关文章

搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi

里我们用三层架构搭建一个连接MySql的ASP.netCore模板的WebApi项目 首先添加WebApi项目(ASP.NetCore版本) 右键解决方案>新建项目> 选择Web>ASP.NET Core Web应用程序(.NET Core) 选择Web API 此时的目录结构: 添加实体层Entity 右键添加>新建项目>.Net Core类库 添加后的目录结构 BaseEntity: using System; using System.Collections.Gener

Mac系统下虚拟机VMware Fusion下Win10如何通过Navcat连接Mysql 5.7

最近一直在折腾Mac系统,原先对Mac使用也不是很熟悉,所以安装过程中出现了很多问题.为了以后查阅方便,当然也为了使得和我一样的小白少踩一些坑, 所以就记录一下这些问题. 首先说一下VMware Fusion这个虚拟机软件吧.我下载的官方最新的版本8.5.7.然后开始安装,安装比较容易.最麻烦的就是如何安装WIn10系统呢?一开始我采取按部就班的方法,通过Mac自带的浏览器Safari去下载Win10 ISO的文件.结果速度太让人崩溃了,非常慢.后来我尝试把ISO通过百度网盘离线下载的方式先下载

mybatis连接mysql数据库插入中文乱码

对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集.我试过修改现有数据库字符集为UFT -8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???).重建库时选择字符集为UTF-8之后,中文正常显示了. 对于第二个问题,是这样 的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插

java连接mysql

1.下载jar包 网址:http://dev.mysql.com/downloads/ -->点击:"MySQL Connector/J 5.1 - Generally Available (GA) release (recommended)" -->点击:(mysql-connector-java-5.1.10.zip)后面的download按钮 -->点击:"? No thanks, just take me to the downloads!"

EF连接Mysql 表&#39;TableDetails&#39;中的列&#39;IsPrimaryKey&#39;的值为DBNull

无法生成模型,因为存在以下异常:'System.Data.StrongTypingException:表'TableDetails'中的列'IsPrimaryKey'的值为DBNull.---> System.InvalidCastException:指定的转换无效. 原文链接http://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetail

hibernate 连接 mysql 乱码的情况

在本地开发环境中,一切正常,部署到服务器后(windows 2003 + tomcat)含有中文的查询和表单提交都有乱码,从以下几个方面检查并解决了问题: 1.将所有jsp.js.css文件默认编码改为了utf-8,未解决问题. 2.struts2的配置文件中加入了节点:<constant name="struts.i18n.encoding" value="UTF-8" />  ,未解决问题. 3.web.xml中做如下确认和修改,未解决问题. <

mac 连接mysql提示 Warning: mysqli::real_connect(): (HY000/2002): No such file or directory

mac 连接mysql的时候提示 Warning: mysqli::real_connect(): (HY000/2002): No such file or directory [说明1]MAC下MYSQL的安装路径:/usr/local/mysql-5.5.28-osx10.6-x86 数据库的数据文件在该目录的data文件夹中: 命令文件在bin文件夹中. [说明2]通过终端打开MYSQL命令行的方法:/usr/local/mysql-5.5.28-osx10.6-x86/bin/mysq

java运行代码连接mysql时提示:找不到类错误

使用IntelliJ IDEA Community Edition进行代码编写.. 使用一下代码连接mysql时出现了:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误 然后就很好奇,import都能导入数据. 后来用idea工具打开以前的练习,发现架包也存在. 但是新建的练习就没有把架包弄进来.然后出现了这类错误.. 原因是:使用idea工具开发时,如果之前练习有添加相应的数据,那么在external libraries中是能显

远程桌面连接MySQL遇到的问题及解决方法总结

背景提要:想用Delphi做一个可以连接Mysql数据库的桌面应用程序.其中遇到了一些让自己很苦恼的问题.因为自己是新手,Delphi用的不熟,FireDAC这个连接数据库里控件更是没有接触过,对安装在CentOS上的MySQL更是一知半解.弄了半天,做出来的东西就是连接不上数据库.搞得一时间很头大.但最后还是找到了问题所在,都是处在了MySQL服务器设置上了. 问题一:MySQL服务器的端口没有打开.3306的端口不是默认打开的.需要在/etc/sysconfig/iptables配置文件中添

java连接mysql的过程

今天突然心血来潮,想要用java连接mysql,记得以前是在vs2010的环境下用C#连接sql sever,其实他们的方法都差不多. 现在就可以简单的介绍下java如何连接mysql 第一步,设计mysql的数据库,设计数据库的时候特别要注意,数据库名是xsxx,表名字是xs.注意在设置字符的时候一定要选用utf8,不然就会以你不懂的形式出现. 第二步:在esclip中新建项目,项目名称是TestJDBC,新建class名称为TestJDBC,添加引用项目文件 第三步:项目中的相关代码: --