mboost-dp1
mysql_fetch_array i mysql_fetch_array
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hey Alle sammen...
Jeg har et problem, jeg vil gerne lave et sortering af nogle celle i en tabel, hvor jeg skal have et id fra, og derefter udskriver alle celler fra en anden tabel, hvor det id passer sammen med...
min kode ser ud som følgende:
men når jeg executer koden, får jeg følgende fejl:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\am\index.php on line 27
og line 27 er while ($rs = mysqli_fetch_array($prices)) {
Nogen, der kan give mig et råd til hvordan jeg laver det jeg søger.
Jeg har et problem, jeg vil gerne lave et sortering af nogle celle i en tabel, hvor jeg skal have et id fra, og derefter udskriver alle celler fra en anden tabel, hvor det id passer sammen med...
min kode ser ud som følgende:
$header = mysqli_query($dbc, "SELECT Id,title FROM header ORDER BY sort");
while ($rs_h = mysqli_fetch_array($header)) {
echo'
<h1>'.$rs_h['title'].'</h1>
<table border="0" width="600px">
<tbody>';
$prices = mysqli_query($dbc, "SELECT title, price FROM prices WHERE grp=".$rs_h['Id']."ORDER BY title");
while ($rs = mysqli_fetch_array($prices)) {
echo'
<tr>
<td>'.$rs['title'].'</td>
<td class="price">'.$rs['price'].'</td>
</tr>';
}
echo'
</tbody>
</table>';
}
men når jeg executer koden, får jeg følgende fejl:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\am\index.php on line 27
og line 27 er while ($rs = mysqli_fetch_array($prices)) {
Nogen, der kan give mig et råd til hvordan jeg laver det jeg søger.
Da jeg lige kiggede kort på koden, fandt jeg ud af at du mangler et mellemrum i din SQL query. Prøv nedenstående kode:
$header = mysqli_query($dbc, "SELECT Id,title FROM header ORDER BY sort");
while ($rs_h = mysqli_fetch_array($header)) {
echo'
<h1>'.$rs_h['title'].'</h1>
<table border="0" width="600px">
<tbody>';
$prices = mysqli_query($dbc, "SELECT title, price FROM prices WHERE grp=".$rs_h['Id']." ORDER BY title");
while ($rs = mysqli_fetch_array($prices)) {
echo'
<tr>
<td>'.$rs['title'].'</td>
<td class="price">'.$rs['price'].'</td>
</tr>';
}
echo'
</tbody>
</table>';
}
mysqli_fetch_array($prices) retunere en iterator, ikke en boolean. Og signaturen for where er følgende: where(parameter : boolean)
Altså du bruger mysqli_fetch_array fuldstændig forkert. Brug lidt tid på at læse op inde på http://dk.php.net/mysqli_fetch_array
(Jeg skal til et møde nu, så kan ikke nå at skrive et eksempel.)
Altså du bruger mysqli_fetch_array fuldstændig forkert. Brug lidt tid på at læse op inde på http://dk.php.net/mysqli_fetch_array
(Jeg skal til et møde nu, så kan ikke nå at skrive et eksempel.)
#3 Windcape
Nu har jeg aldrig brugt MySQLi Procedural, men tror ikke det adskiller sig særlig meget fra OOP-fremgangsmåden. Men måden han bruger, er altså helt "lovlig" / "brugbar" - betragt nedenstående kode-eksempel, som virker:
Nu har jeg aldrig brugt MySQLi Procedural, men tror ikke det adskiller sig særlig meget fra OOP-fremgangsmåden. Men måden han bruger, er altså helt "lovlig" / "brugbar" - betragt nedenstående kode-eksempel, som virker:
$sql = $DBcon->query("SELECT * FROM dbtable");
while ($row = $sql->fetch_assoc()) {
$temp[] = $row;
}
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.