Toon posts:

[php] mysql_fetch_array($result) - probleem*

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    $result = OB("SELECT PK_News, Datum, Title FROM News ORDER BY Datum DESC");

    $i = 0;



    while($oRs = mysql_fetch_array($result) && $i < $MAX_NEWS_ITEMS) {

?>

                    <tr>

                      <td width="2%">&nbsp;</td>

                      <td width="19%" align="left"><?   echo date("Y\-m\-d", $oRs["Datum"]); ?></td>

                      <td width="79%" align="left"><a href="<?   echo $NEWS_PAGE; ?>#<?   echo $oRs["PK_News"]; ?>"><?   echo $oRs["Title"]; ?></a></td>

                    </tr>

<?

        $i++;

    }


OB = functie die een mysql_query() result teruggeeft
OB = functie die een 'safe query' maakt, omdat ik nogal geregeld vergeet de quote te escapen :)

$MAX_NEWS_ITEMS = gedefineerd (=5)


Probleem:
- $oRs = 1 (als het record gefetched is), anders 0.
- $oRs["Datum"], title ... of $oRs[0], 1 ... zijn ALLEMAAL undefined


Kan er iemand mij misschien helpen hiermee??? Alvast merciekes hé.

PS: PHP version 4.0.6 on Apache 1.3.26

Verwijderd

laat je OB maar eens zien dan..

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
function OB($query, $values = "") {
  if ($values != "") {
    $query_parts = preg_split("/\?/", $query);
    $safe_query = array_shift($query_parts);
    $needed_values = count($query_parts);

    $ii=count($values);
    if ($ii == 1) {
        $safe_query .= mysql_escape_string($values);
        $safe_query .= array_shift($query_parts);
        } else {
        for ($i=0;$i<$ii;$i++) {
          $values[$i] = mysql_escape_string($values[$i]);
          $safe_query .= $values[$i].array_shift($query_parts);
          }
        }

    if (count($query_parts)) {
      die ('Query "<i>'.$query.'</i>" needs'.$needed_values.' values, you only sent '.$ii);
    }
  } else {
    $safe_query = $query;
  }
  return mysql_query($safe_query);
}

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Doe es
PHP:
1
while(($oRs = mysql_fetch_array($result)) && ($i < $MAX_NEWS_ITEMS)) {

Je hebt kans dat ie de precendence niet goed pakt en dus
PHP:
1
$oRs = (mysql_fetch_array($result) && $i < $MAX_NEWS_ITEMS)

Leest :)

Verwijderd

ACM schreef op 26 september 2002 @ 10:58:
Je hebt kans dat ie de precendence niet goed pakt en dus
PHP:
1
$oRs = (mysql_fetch_array($result) && $i < $MAX_NEWS_ITEMS)

Leest :)
dat doet ie ook, kijk maar :)
Probleem
- $oRs = 1 (als het record gefetched is), anders 0.
- $oRs["Datum"], title ... of $oRs[0], 1 ... zijn ALLEMAAL undefined
$oRs = 1 als $i < $MAX_NEWS_ITEMS en als mysql_fetch_array lukt ;) en ik denk dat dit idd het geval is bij de topicstarter.

Verwijderd

Topicstarter
WIEEEEEEEEEEEEEHA :D

da werkte dus :p

merci!
Pagina: 1