Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中将这部分代码转换为准备好的语句?_Php_Mysql_Prepared Statement - Fatal编程技术网

如何在PHP中将这部分代码转换为准备好的语句?

如何在PHP中将这部分代码转换为准备好的语句?,php,mysql,prepared-statement,Php,Mysql,Prepared Statement,从我以前的帖子() 声明 如何将部分代码转换为准备好的语句 edit.php if (isset($_GET['id'])) { $id = $_GET['id']; $update = true; $sql = "SELECT * FROM crimenews WHERE crimenews_id=$id"; $query = mysqli_query($conn,$sql); if(

从我以前的帖子()

声明

如何将部分代码转换为准备好的语句

edit.php

if (isset($_GET['id']))
      {
          $id = $_GET['id'];
          $update = true;
          $sql = "SELECT * FROM crimenews WHERE crimenews_id=$id";
          $query = mysqli_query($conn,$sql);

        if(mysqli_num_rows($query) == 1)
          {
              $row = mysqli_fetch_array($query);
              $category = $row['crimenews_cat'];
              $url = $row['crimenews_url'];
              $datetime = $row['crimenews_datetime'];
              $lat = $row['crimenews_locationLat'];
              $lng = $row['crimenews_locationLong'];
          }
      }

在上面的链接中已经提供了更多的代码。

我更喜欢一行一行的方法,参考PHP手册Often1。警告:mysqli_stmt::bind_param():变量数与准备语句中的参数数不匹配。2.注意:尝试获取非object的属性“num_rows”您是否将查询更改为使用
而不是
$id
注意:尝试获取非object的属性“num_rows”修复了一些拼写错误,抱歉
// while testing add
ini_set('display_errors', 1); 
ini_set('log_errors',1); 
error_reporting(E_ALL); 
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

if (isset($_GET['id']))
{
    $update = true;
    $sql = "SELECT * FROM crimenews WHERE crimenews_id=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param('i', $_GET['id']);
    $stmt->execute();

    $res = $stmt->get_result();

    if($res->num_rows == 1)
    {
        // fetch_assoc() returns just an assoc array and not the numeric array as well
        $row = $res->fetch_assoc();

        $category = $row['crimenews_cat'];
        $url = $row['crimenews_url'];
        $datetime = $row['crimenews_datetime'];
        $lat = $row['crimenews_locationLat'];
        $lng = $row['crimenews_locationLong'];
    }
}