繁体   English   中英

将行数组中的值传递给另一个变量名?

[英]Pass Value inside row array to another variable name?

如何将行数组中的值传递给另一个变量,因为行数组的结果我需要在其他表中进行另一个查询以进行选择。 在 echo $row['Plate']$plateID中都可以显示该值,但对于另一个查询不显示结果。 这是我的代码:

<?php

$connection=mysqli_connect("localhost","root","");
$db=mysqli_select_db($connection,'db_car_identification');

$q="SELECT Plate FROM addplate ORDER BY ID DESC LIMIT 1 ";

$result=mysqli_query($connection,$q);

while($row = mysqli_fetch_array($result)) {
    echo $row['Plate'];

    $plateID = $row['Plate'];

    echo $plateID;

    $query="SELECT StuName FROM student_detail WHERE plateID=$plateID";

    $query_run=mysqli_query($connection,$query);

    while($row1=mysqli_fetch_array($query_run)) {
        echo $row1['StuName'];      
    }
}
?>

你真的应该使用参数化准备好的语句

但是,在您的示例中,您可以简单地使用 SQL 子查询。 这将使您的代码更简单。

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$connection = new mysqli("localhost", "root", "", 'db_car_identification');
$connection->set_charset('utf8mb4');

$result = $connection->query('SELECT StuName, Plate 
    FROM student_detail 
    WHERE plateID = (SELECT Plate FROM addplate ORDER BY ID DESC LIMIT 1)');

foreach($result as $row1){
    echo $row1['StuName']; 
}

请检查一些步骤

  1. 对于第一个查询结果,它是哪种数据类型?
  2. 如果它是 Integer 或任何数字数据类型,则回显 $query 变量并检查任何查询是对还是错,只需将其复制并粘贴到数据库查询生成器 (phpmyadmin)。
  3. 如果它是字符串数据类型,那么只需在查询中将''添加到您的 $plateID 变量中。 例如: “SELECT StuName FROM student_detail WHERE plateID= '$plateID' ”(如果不工作,则再次回显并检查您的查询问题)

让我知道这是否有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM