2020-01-31, 16:36
  #1
Bannlyst
Har 1 databas.

Database name: LOL
Table 1: X
Table 2: Z

Det funkar att hmta allt frn table X men inte frn table Z.
Bda tables ser exakt likadana ut.

Koden jag anvnder fr att hmta frn X.
Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM X ORDER BY `X2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['X2'].'</td>';    
            echo 
'</tr>';    
    }
?>

Koden jag anvnder fr att hmta frn Z.
Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM Z ORDER BY `Z2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['Z2'].'</td>';    
            echo 
'</tr>';    
    }
?>

Fr denna error nr jag frsker hmta frn table Z.
Kod:
WarningInvalid argument supplied for foreach() in 
__________________
Senast redigerad av TrixNe 2020-01-31 kl. 17:02.
Citera
2020-01-31, 16:52
  #2
Medlem
EckiEckis avatar
Citat:
Ursprungligen postat av TrixNe
Fr denna error nr jag frsker hmta frn table Z.
Kod:
WarningInvalid argument supplied for foreach() in 

D fr du vl ta reda p vad result innehller efter att din frga krts. Fr uppenbarligen s R det ngon skillnad.
Citera
2020-01-31, 16:59
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av TrixNe
Har 1 databas.

Database name: LOL
Table 1: X
Table 2: Z

Det funkar att hmta allt frn table X men inte frn table Z.
Bda databaser ser exakt likadana ut.

Koden jag anvnder fr att hmta frn X.
Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM X ORDER BY `X2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['X2'].'</td>';    
            echo 
'</tr>';    
    }
?>

Koden jag anvnder fr att hmta frn Z.
Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM Z ORDER BY `Z2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['Z2'].'</td>';    
            echo 
'</tr>';    
    }
?>

Fr denna error nr jag frsker hmta frn table Z.
Kod:
WarningInvalid argument supplied for foreach() in 
Med 100% skerhet kan jag sga att du har ett syntaxfel i din andra SQL.

Klipp ut den och kr den direkt i databasen s kommer det tydligt framg var du har gjort fel.

ett annat stt att ta rtt p vad som r fel r att skala bort allt krafs frn den, dvs kr bara
Kod:
SELECT * FROM Z
och kolla om det funkar. Gr det det kan du lgga p din ORDER BY och se om det fortfarande funkar. Gr det det kan du dra p din limit tills det pajjar.

Min gissning r dock att du frsker sortera p en kolumn som inte finns, alternativt frsker hmta data frn en tabell som inte finns.
__________________
Senast redigerad av Proton 2020-01-31 kl. 17:02.
Citera
2020-08-06, 22:03
  #4
Medlem
Robert-Arslebergs avatar
Citat:
Ursprungligen postat av TrixNe
Har 1 databas.

Database name: LOL
Table 1: X
Table 2: Z

Det funkar att hmta allt frn table X men inte frn table Z.
Bda tables ser exakt likadana ut.

Koden jag anvnder fr att hmta frn X.
Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM X ORDER BY `X2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['X2'].'</td>';    
            echo 
'</tr>';    
    }
?>

Koden jag anvnder fr att hmta frn Z.
Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM Z ORDER BY `Z2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['Z2'].'</td>';    
            echo 
'</tr>';    
    }
?>

Fr denna error nr jag frsker hmta frn table Z.
Kod:
WarningInvalid argument supplied for foreach() in 

Det skulle kunna bero p att du fr ett tomt resultat frn din andra query eftersom att du stter $result_array inuti while-loopen. Om while-loopen inte krs stts aldrig $result_array och du fr sledes ett fel i foreach-loopen.

Prova att frst definiera $result_array utanfr while-loopen, s br foreach-loopen tminstone inte kasta ngot fel.

Kod:
<?php
require_once 'php/db.php';

    
$query "SELECT * FROM Z ORDER BY `Z2` DESC LIMIT 10";
    
    
$result $test_db->query($query);
    
$result_array = [];
    
    while(
$results $result->fetch_array()) {
        
$result_array[] = $results;
    }
    
    
$i=1;
    
    foreach (
$result_array as $result) {
        
            echo 
'<tr>';            
            echo 
'<td class="small">'.$result['Z2'].'</td>';    
            echo 
'</tr>';    
    }
?>
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in