php与mysqli开发 预处理
php与mysqli开发 预处理
骑个蜗牛追宝马 发表于2年前
php与mysqli开发 预处理
  • 发表于 2年前
  • 阅读 24
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

建立数据库连接对象也叫实例化对象   mysqli类

<?php
$host='localhost';
$user='root';
$pass='';
$dbname='db';
$port='3306';
$charset='utf8';
$m=new mysqli($host,$user,$pass,$dbname,$port);
if($m->connect_error){
  die('数据库连接失败,请检查...');
}
$m->set_charset($charset);

预处理语句 数据的插入

$stmt=$m->prepare('insert into stud values(null,?,?)');//执行相关的数据库sql语句
$stmt->bind_param('si',$n,$a);//$n,$a必须为引用变量  bind_param:将变量绑定到结果存储的准备语句 
$n='jack';                    //在使用 mysqli_stmt 相关预处理SQL的方法时,调用bind_param会报一个参数不足的错误,所以要引用变量
$a=32;
$stmt->execute();             
$stmt->free_result();

预处理   数据的修改

$stmt=$m->prepare('update student set name=?,age=? where id=?');  //?不能加引号‘?’,预处理会自动处理?
$stmt->bind_param('sii',$n,$a,$i);
$n='李四';
$a=27;
$i=4;
$stmt->execute();//预处理的查询   执行一个查询,用了mysqli_prepare()功能先前准备的。当执行任何存在的参数标记时,将自动被适当的数据替换
$stmt->free_result(); //释放与该语句关联的结果内存

删除数据

$stmt=$m->prepare('delete from student where id=?');
$stmt->bind_param('i',$id);
$id =5:
$stmt->execute();
if($stmt->affected_rows>0){   //affected_rows  返回更改、删除或插入最后执行语句的行总数
echo '删除成功';
}

查询语句

$stmt=$m->prepare('select from student');
$stmt=execute();
$result =$stmt->get_result();//得到结果
while($rows=$result->fetch_assoc()){     // fetch_assoc 提取所有结果行作为关联数组,一个数值型数组  
echo $rows['name'].'<br>';               //返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。
}

//$rows=$result->fetch_all(2);  //fetch_all函数从结果集中取得所有行作为关联数组,或数字数组,或二者兼有
//foreach($rows as $v){
//  echo $v[1].'<br>';
//}

 

mysqi 相关的函数

mysqli_affected_rows()          返回前一个 Mysql 操作的受影响行数。

mysqli_autocommit()               打开或关闭自动提交数据库修改功能。

mysqli_change_user()          更改指定数据库连接的用户。

mysqli_character_set_name()       返回数据库连接的默认字符集。

mysqli_close()                  关闭先前打开的数据库连接。

mysqli_commit()                  提交当前事务。

mysqli_connect_errno()          返回最后一次连接调用的错误代码。

mysqli_connect_error()返回上一次连接错误的错误描述。

mysqli_connect()打开到 Mysql 服务器的新连接。

mysqli_data_seek()调整结果指针到结果集中的一个任意行。

mysqli_debug()执行调试操作。

mysqli_dump_debug_info()转储调试信息到日志中。

mysqli_errno()返回最近的函数调用产生的错误代码。

mysqli_error_list()返回最近的函数调用产生的错误列表。

mysqli_error()返回字符串描述的最近一次函数调用产生的错误代码。

mysqli_fetch_all()抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。

mysqli_fetch_array()以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果。

mysqli_fetch_assoc()以一个关联数组方式抓取一行结果。

mysqli_fetch_field_direct()以对象返回结果集中单字段的元数据。

mysqli_fetch_field()以对象返回结果集中的下一个字段。

mysqli_fetch_fields()返回代表结果集中字段的对象数组。

mysqli_fetch_lengths()返回结果集中当前行的列长度。

mysqli_fetch_object()以对象返回结果集的当前行。

mysqli_fetch_row()从结果集中抓取一行并以枚举数组的形式返回它。

mysqli_field_count()返回最近一次查询获取到的列的数目。

mysqli_field_seek()设置字段指针到特定的字段开始位置。

mysqli_field_tell()返回字段指针的位置。

mysqli_free_result()释放与某个结果集相关的内存。

mysqli_get_charset()返回字符集对象。

mysqli_get_client_info()返回字符串类型的 Mysql 客户端版本信息。

mysqli_get_client_stats()返回每个客户端进程的统计信息。

mysqli_get_client_version()返回整型的 Mysql 客户端版本信息。

mysqli_get_connection_stats()返回客户端连接的统计信息。

mysqli_get_host_info()返回 MySQL 服务器主机名和连接类型。

mysqli_get_proto_info()返回 MySQL 协议版本。

mysqli_get_server_info()返回 MySQL 服务器版本。

mysqli_get_server_version()返回整型的 MySQL 服务器版本信息。

mysqli_info()返回最近一次执行的查询的检索信息。

mysqli_init()初始化 mysqli 并且返回一个由 mysqli_real_connect() 使用的资源类型。

mysqli_insert_id()返回最后一次查询中使用的自动生成 id。

mysql_kill()请求服务器终结某个 MySQL 线程。

mysqli_more_results()检查一个多语句查询是否还有其他查询结果集。

mysqli_multi_query()在数据库上执行一个或多个查询。

mysqli_next_result()从 mysqli_multi_query() 中准备下一个结果集。

mysqli_num_fields()返回结果集中的字段数。

mysqli_num_rows()返回结果集中的行数。

mysqli_options()设置选项。

mysqli_ping()Ping 一个服务器连接,或者如果那个连接断了尝试重连。

mysqli_prepare()准备一条用于执行的 SQL 语句。

mysqli_query()在数据库上执行查询。

mysqli_real_connect()打开一个到 Mysql 服务端的新连接。

mysqli_real_escape_string()转义在 SQL 语句中使用的字符串中的特殊字符。

mysqli_real_query()执行 SQL 查询。

mysqli_reap_async_query()返回异步查询的结果。

mysqli_refresh()刷新表或缓存,或者重置复制服务器信息。

mysqli_rollback()回滚当前事务。

mysqli_select_db()改变连接的默认数据库。

mysqli_set_charset()设置默认客户端字符集。

mysqli_set_local_infile_default()清除用户为 load local infile 命令定义的处理程序。

mysqli_set_local_infile_handler()设置 LOAD DATA LOCAL INFILE 命令执行的回调函数。

mysqli_sqlstate()返回前一个 Mysql 操作的 SQLSTATE 错误代码。

mysqli_ssl_set()使用 SSL 建立安装连接。

mysqli_stat()返回当前系统状态。

mysqli_stmt_init()初始化一条语句并返回一个由 mysqli_stmt_prepare() 使用的对象。

mysqli_store_result()传输最后一个查询的结果集。

mysqli_thread_id()返回当前连接的线程 ID。

mysqli_thread_safe()返回是否设定了线程安全。

mysqli_use_result()初始化一个结果集的取回。

mysqli_warning_count()返回连接中最后一次查询的警告数量。

 

 

共有 人打赏支持
粉丝 0
博文 33
码字总数 12265
×
骑个蜗牛追宝马
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: