PHP7预编译mysqli查询操作

   //连接数据库
   $mysqli = new mysqli("localhost", "root", "root", "mobilemoms");
    !$mysqli->connect_error or die("CONNECT SQL ERROR".$mysqli->connect_error);
    $mysqli->query("set names utf8");

   //sql预编译
   $sql = "select tally_name,machine_no from device_member where mobile_no=? and mobile_pwd=? limit 1";
    $mysqli_stmt = $mysqli->prepare($sql);

    //绑定参数
    $mysqli_stmt->bind_param("ss",$mobileno,$pwd);//绑定查询参数
    $mysqli_stmt->bind_result($tally_name,$machine_no);//绑定结果参数 也就是将查询结果直接给某参数

    //处理查询结果
    $mysqli_stmt->execute();
    if(!$mysqli_stmt->fetch()){ //没有内容
        wrong("No User");
    }else{//有内容
        echo "success";
    }  

原文地址:https://www.cnblogs.com/iAmSoScArEd/p/11719610.html

时间: 2024-10-13 09:22:42

PHP7预编译mysqli查询操作的相关文章

Ubuntu为已经安装的PHP7单独编译mysqli

编译安装PHP7后没有在ext中没有生成mysqli.so等文件,现在单独编译安装mysqli php7安装的位置:/usr/local/php7/ 我的扩展目录:/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/ 解压php7安装包,进入 ext/mysqli/ 目录 执行: /usr/local/php7/bin/phpize   会在该目录下生成configure等文件 [如果提示没有autoconf.m4错误,用 a

PDO预编译语句执行查询与DML操作

代码示例: MyPDO.class.php的代码如下: /** * 使用PDO预编译语句执行DML操作并返回受影响的行数 * @param $sql 需要执行的SQL语句(预编译语句写法) * @param array $arr 预编译语句需要添加的数据值,数组结构 * @return int 返回DML执行后受影响的行数 */public function intByPdoPrepare($sql, array $arr=array()){ $ps =$this->pdo->prepare(

PHP的预编译的使用

在PHP中,使用预编译不仅可以简化代码,还可以防止有些数据的泄露 <?php /** * 我直接针对PDO的封装类 * User: seven * Date: 2017/7/26 * Time: 9:43 */ class MyPDO { /** 访问数据库的PDO对象 */ protected $pdo; /** * 当前类的构造函数 * 读取数据库配置信息文件,并初始化PDO对象 */ function __construct() { if(file_exists('db.ini')){ $

PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)

1.和mysql扩展库的区别: (1   安全性.稳定性更高 (2  提供了面向对象和面向过程两种风格 2.php.ini  中的  extension=php_mysqli.dll 解除封印 3.面向对象:查询列表 1 <?php 2 3 //mysqli 操作数据(面向对象风格) 4 5 #1.创建Mysql对象 6 7 $mysqli=new MySQLi("127.0.0.1","root","daomul","test&

Mysqli的预编译机制处理批量数据过程

mysqli增强,还有一部分是对事物处理机制和预编译机制的增加,其实这两者都是为安全和执行效率着想的,这里主要说一下mysqli的预编译机制. 所谓的预编译,并不是在php的内核进行编译,而是数据库管理系统进行预编译,由于用于批量数据,说白了就是把一部分固定的数据格式先在mysql上面进行一次编译,编译之后就不在对其进行再次编译,我们要做的就是,向编译的占位符(就是数据占位)添加数据,之后发送,这样的话,大大的减少了编译次数,提高了批处理的效率. 下面是一段简单的示例代码: <?php $mys

PHP中对mysql预编译查询语句的一个封装

原文地址:http://chen-shan.net/?p=474 为了防止sql注入,我们都使用过mysqli这个类,但是每次都需要绑定参数,绑定结果等,比较麻烦,所以可以把这些重复的语句封装成一个函数. 一.封装前. 传统的一个预编译方式的”select”查询代码: $id = "1"; $name = "test_name"; $db_obj = new mysqli("localhost", "db_user", &qu

mysql预编译处理(mysqli、PDO)

DML语句预编译: MysqLi: <?php $mysqli = new mysqli("localhost","root","root","dbname"); $mysqli->query("set names utf8"); $sql = 'insert into user(id,name,age,email) values (?,?,?,?)'; $mysqli_stmt = $mysq

PreparedStatemnet预编译操作数据库的增删改

/**************PreparedStatemnet使用******************/ /*特点:相当于ADO.NET中的参数化命令对象  * 1.预编译,执行相同的sql语句,提高执行效率  * 2.能将数据中的特殊字符当作普通字符进行处理  */ public static void main(String[] args) {  Scanner input = new Scanner(System.in);  System.out.println("请输入学号:"

关于jdbc预编译下模糊查询的写法

PreparedStatement预编译的SQL可以有效的防止SQL注入,但是有些写法需要值得注意. Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ssm","root","root"); StringBuffer sql =new StringBuffer(&quo