Im пытается запустить запрос, который будет эхо-номер строки из базы данных. на данный момент он показывает только последние не все. Может кто-то, пожалуйста, помогите мне в том, как показать все строки, а не только одну.Не удалось получить доступ ко всем данным из таблиц mysql
$search = $_GET['pc'];
$approved = 'Approved';
$live = 'Live';
$q = $handler->prepare("SELECT * FROM store WHERE pc = ? OR plus_1 = ? OR plus_2 = ? OR plus_3 = ? OR plus_4 = ?");
$q->bindParam(1, $search);
$q->bindParam(2, $search);
$q->bindParam(3, $search);
$q->bindParam(4, $search);
$q->bindParam(5, $search);
$q->execute();
if($q->rowCount() > 0){
while($r = $q->fetch()){
$local_id = $r['user_id'].;
}
$q = $handler->prepare("SELECT * FROM users WHERE id = ? AND status = ?");
$q->bindParam(1, $local_id);
$q->bindParam(2, $approved);
$q->execute();
if($q->rowCount() > 0){
while($r = $q->fetch()){
$local_id_2 = $r['id'].;
}
$q = $handler->prepare("SELECT * FROM offers WHERE user_id = ? AND status = ? AND approved = ?");
$q->bindParam(1, $local_id_2);
$q->bindParam(2, $live);
$q->bindParam(3, $approved);
$q->execute();
echo $viewAll = $q->rowCount();
}
}
если пытался вторя все $ local_id и local_id2, но только первый из них ($ local_id) Echos все данные остальное просто вторит последний $ lcoal_id от первого .. спасибо заранее.
Вы продолжаете перезаписывать '$ q-> rowCount()'. Сохраните это имя переменной или что-то, что вы можете повторить для каждого экземпляра. –
Вы переписываете свои результаты в циклы 'while' ->' while ($ r = $ q-> fetch()) {$ local_id = $ r ['user_id']; } '/' while ($ r = $ q-> fetch()) {$ local_id_2 = $ r ['id']; } '. Таким образом, каждый цикл 'while' возвращает только последний результат, а не все результаты. – Sean
JayBlanchard Я попытался изменить имена переменных, но не решает его. @Sean вы могли бы дать альтернативу тому, как я могу это исправить. Спасибо. – user3833066