zoukankan      html  css  js  c++  java
  • PHP使用prepare(),insert数据时要注意的一点!!!

    今天看了PHP防SQL注入,使用预处理prepare,但是我insert数据时,总是插不进去,但是select却可以,弄了很久终于知道原来问题在这里,先上代码

    <?php header('content-type:text/html;charset=utf8');

    //接收表单数据

    //$username = $_POST['username'];

    $conn = new mysqli('localhost','root','akagami-666','water');

    if($conn -> connect_errno){  echo "连接失败".$conn -> connect_error; }

    $sql = "insert into w_safe(name) values(?)";

    // $sql = "select * from w_safe where name=?";

    $stmt = $conn -> prepare($sql); $stmt -> bind_param("s",$username);

    $username = $_POST['username'];

    $stmt -> execute();

    echo $stmt -> affected_rows;

    $stmt -> close();

    $conn -> close();

    出问题的原因就是,我一开始是先接收post值,定义$username变量,后执行bind_param(),而这就导致无法插入数据,

    必须要先写bind_param(),在定义里面的变量才行。

    希望能帮助遇到同样问题的小伙伴!!!

  • 相关阅读:
    IOS 字典转模型
    iOS UIView 快速修改 frame
    IOS 解析JSON
    IOS 解析XML--使用NSXML
    ios 解析json,xml
    StringBuffer类和String类的区别
    Thread类和Runnable接口的比较
    Exception和RuntimeException的区别
    代理设计模式
    工厂设计模式
  • 原文地址:https://www.cnblogs.com/douflamingo-666/p/8964773.html
Copyright © 2011-2022 走看看