Avatar billede larsgs Nybegynder
06. juli 2010 - 21:24 Der er 8 kommentarer og
1 løsning

php

Hvad har jeg lavet forkert i nedenstående:



Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/admin/delete_search.php on line 122
som er    if ($row = mysql_fetch_array($result)) {


$lastTime = strtotime("-1 week");
$lastWeek = date("Y-m-d", $lastTime);
echo "Listen viser alle produkter som ikke er opdateret siden " . $lastWeek;
                           
    echo "<form name=\"update\" id=\"frm1\" method=\"post\" action=\"".$_SERVER["PHP_SELF"]."?action=update_prices\">";
    echo "<table>";
    echo "<tr><th>Image</th><th>Product ID</th><th>Title</th><th>Delete</th><th>Last Modified</th><th>Vendor ID</th><th>Mark All" . "<input type='checkbox' name='checkall' onclick='checkedAll(update);'></th></tr>";
    $sql = mysql_query("SELECT * FROM products WHERE products_last_modified < \'$lastWeek\' AND vendors_id = 2 ORDER BY products_last_modified DESC");
    if ($row = mysql_fetch_array($result)) {
        do {
            $prezzo=round($row['products_price'],2);
                                                                                      echo "<td>".tep_image(DIR_WS_CATALOG_IMAGES . $row['products_image'], $row['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT)."</td>\n";
            echo "<td align=\"center\">".$row["products_model"]."</td>\n";
            echo "<td>".$row["products_name"]."</td>\n";
                                                              echo "<td>".$row["products_last_modified"]."</td>\n";
                                                              echo "<td align=center>".$row["vendors_id"]."</td>\n";
            echo "<td align=\"center\"><input type=\"checkbox\" name=\"product_new_price[".$row['products_id']."]\" value=\"removed\"></td>\n";
            echo "</tr>\n";
        }
        while($row = mysql_fetch_array($result));
    }
    echo "</table>\n";
Avatar billede erikjacobsen Ekspert
06. juli 2010 - 21:47 #1
Du starter med at få vide hvad mysql mener der er galt. Fx noget i retning af:

    $sql = mysql_query("SELECT * FROM products WHERE products_last_modified < \'$lastWeek\' AND vendors_id = 2 ORDER BY products_last_modified DESC") or die(mysql_error());
Avatar billede erikjacobsen Ekspert
06. juli 2010 - 21:48 #2
Hehe, der var jeg lidt for hurtig. Det er selvfølgelig en god idé at få eventuelle fejl at vide, men spørgsmålet er nok mere: hvor kommer $result fra?
06. juli 2010 - 21:57 #3
...eller med andre ord, naar du siger
"$sql = mysql_query("SELECT * FROM products.... " saa skal du fortsaette med
"if ($row = mysql_fetch_array($sql))"

Proev om ikke det virker at rette $result til $sql.
Avatar billede larsgs Nybegynder
06. juli 2010 - 22:07 #4
Ups - det var den første fejl. Det skulle ha være $result = mysql_query....

Fejlen bliver nu:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'2010-06-29\' AND vendors_id = 2 ORDER BY products_last_modified DESC' at line 1

Så min anelsen fra starten er måske korrekt. Dato indramningen er forkert. Man hvad er stadig forkert?
Avatar billede larsgs Nybegynder
06. juli 2010 - 22:11 #5
Det hjælper at snakke om problemet. Det er løst nu. Tak for hjælpen.
Det skulle være:
$sql = mysql_query("SELECT * FROM products WHERE products_last_modified < '$lastWeek' AND vendors_id = 2 ORDER BY products_last_modified DESC") or die(mysql_error());
Avatar billede larsgs Nybegynder
06. juli 2010 - 22:20 #6
nå ja, jeg skal jo ogå tildele points. Hvordan gør man det?
07. juli 2010 - 06:19 #7
Du har allerede tildelt points, nemlig til dig selv.  For naeste gang, man tildeler points og lukker et spoergsmaal ved at acceptere et svar (et indlaeg markeret med gult.)  Hvis du har faaet et indlaeg som kommentar som du vil tildele points saa beder du den der har sendt indlaegget om at oprette et svar som du kan acceptere.
Avatar billede larsgs Nybegynder
07. juli 2010 - 07:29 #8
Tak for info. Dette er mit første indlæg, og jeg syntes ikke det var gennemskueligt.

Det var egentlig erikjacobsen som skulle ha de points, men han vil åbenbart ikke ha dem. Og løsningen havde jeg selv fundet (med hjælp fra erikjacobsen) inden du også postede en løsning. Du (Christian_Belgien) må gerne få halvdelen, hvis jeg kan trække points tilbage.
07. juli 2010 - 07:34 #9
Du kan ikke traekke points tilbage.  Men glem det i denne omgang.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester