php - Mysqli undefined variable

标签 php html mysql mysqli

您好,我正在使用 php 和 mysqli 语句开发简单的 crud 项目。

首先一切正常,但例如 mysqli_num_rows($result) 返回多行导致所有错误。

这是我的 PHP 代码

<?php

if(isset($_GET["email"]) && !empty(trim($_GET["email"]))){
// Include config file
require_once 'db.php';

// Prepare a select statement
$sql = "SELECT * FROM interns WHERE email = ?";

if($stmt = mysqli_prepare($con, $sql)){
    // Bind variables to the prepared statement as parameters
    mysqli_stmt_bind_param($stmt, "i", $param_id);

    // Set parameters
    $param_id = trim($_GET["email"]);

    // Attempt to execute the prepared statement
    if(mysqli_stmt_execute($stmt)){
        $result = mysqli_stmt_get_result($stmt);

        if(mysqli_num_rows($result) == 1){
            /* Fetch result row as an associative array. Since the result set
            contains only one row, we don't need to use while loop */
            $row = mysqli_fetch_array($result, MYSQLI_ASSOC);

            // Retrieve individual field value
            $firstname = $row["firstname"];
            $lastname = $row["lastname"];
            $cin = $row["cin"];
            $phone_number = $row["phone_number"];
            $address = $row["address"];
            $school = $row["school"];
            $intern_duration = $row["intern_duration"];
            $departement = $row["departement"];
            $cv = $row["cv"];
            $internship_report = $row["internship_report"];
        } else{
            // URL doesn't contain valid id parameter. Redirect to error page

        }

    } else{
        echo "Oops! Something went wrong. Please try again later.";
    }
}

// Close statement
mysqli_stmt_close($stmt);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
?>

我知道这可能是一个非常简单的错误,但它让我发疯 xD

最佳答案

mysqli_stmt_bind_param($stmt, "i", $param_id) 应该是字符串的 s,用于电子邮件地址。 i 代表“整数”。

您的查询可能返回不止一行,因为(可能)不止一行包含整数。

您还可以在查询中添加一个 LIMIT 1,这可能会有所帮助。

关于php - Mysqli undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45803677/

相关文章:

php - Laravel 5 : How to create a custom attribute for a collection, 然后用它排序

php - 当我将第二个表连接到第一个表时的总和不正确

javascript - 显示 chop 字符串的显示值

php - Twitter/Facebook/其他 API 结果的文件缓存与 mySQL 存储

c# - 图像数据类型错误 (System.InvalidCastException)

php 从 mysql 中选择,其中标题以 A 开头(并且只有 A)

php - 通过 PHP 从 mySQL 获取值到 swift

php - mb_eregi_replace 多个匹配项获取它们

html - DIV 没有环绕内部的控件

html - IE11 中的 SVG 问题