Передать значение в массиве строк другому имени переменной? - PullRequest
0 голосов
/ 17 октября 2019

Как передать значение внутри массива строк в другую переменную, так как в результате массива строк мне нужно сделать еще один запрос для выбора в другой таблице. В обоих эхо $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'];      
    }
}
?>

Ответы [ 2 ]

1 голос
/ 25 октября 2019

Вы действительно должны использовать параметризованные подготовленные операторы .

Однако в вашем примере вы могли бы просто использовать вместо этого подзапрос 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']; 
}
0 голосов
/ 17 октября 2019

Пожалуйста, проверьте шаг

  1. Для 1-го результата запроса, какой это тип данных?
  2. Если это Integer или какой-либо числовой тип данных, введите переменную $ query и проверьте, правильный ли запрос или нет, просто скопируйте его и вставьте в построитель запросов базы данных (phpmyadmin).
  3. Еслиэто тип данных String, затем просто добавьте '' к вашей переменной $ plateID в запросе. Например:"ВЫБЕРИТЕ StuName ОТ студента_ДЕТА ГДЕ plateID = '$ plateID' " (Если не работает, повторите эхо и проверьте проблему запроса)

Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...