Avatar billede qub- Novice
26. april 2005 - 22:05 Der er 9 kommentarer og
1 løsning

Ukendt fejl hjælp hurtigt

Jeg får en fejl når jeg kalder følgende kode:


<?
if (isset($_GET['action']) == ("add")) {
    if (isset($_GET['ID'])) {

    $session_id = $_COOKIE['cybertape_shopping'];
    $_POST[now] = time();
   
        $query1 = mysql_query("SELECT * FROM cybertape_product WHERE prod_id='$_GET[ID]'");
        while ($row1 = mysql_fetch_array($query1)) {
       
            $prod_name = $row1[prod_name];
            $prod_price = $row1[prod_price];
            $prod_price_sale = $row1[prod_price_sale];
            $prod_weight = $row1[prod_weight];

    mysql_query("INSERT INTO cybertape_shopping (session, prod_name, prod_id, prod_price, prod_price_sale, prod_weight, date) values ('$session_id', '$prod_name', '$_GET[ID]', '$prod_price', '$prod_price_sale', '$prod_weight', '$_POST[now]')");
       
        $_SESSION[customer] = $prod_name;
       
                echo "<script type=\"text/javascript\">";
                echo "document.location='java script:history.back()'";
                echo "</script>";
   
        }

} else { echo "FEJL"; }
}
?>


fejlen ser således ud:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\cybertape\shoppingcart.php on line 35

(min while linie)




Og jeg kalder det hele med følgende:

index.php?action=add&ID=<? echo $prod_id ?>





Jeg kan simpelthen ikke finde fejlen.. Hvor er den? Please help!
Avatar billede ranglen Nybegynder
26. april 2005 - 22:11 #1
$query1 = mysql_query("SELECT * FROM cybertape_product WHERE prod_id='$_GET[ID]'") or die(mysql_error());

prøv den, så får du en mere sigende beskrivelse hvorfor den fejler
Avatar billede bojo Nybegynder
26. april 2005 - 22:20 #2
måske snarere

$query1 = mysql_query("SELECT * FROM cybertape_product WHERE prod_id='" . $_GET['ID'] . "'" ) or die(mysql_error());
Avatar billede qub- Novice
26. april 2005 - 22:22 #3
Den siger "No Database Selected".. Og cybertape_product er der altså.. For bruger den andre steder :)
Avatar billede qub- Novice
26. april 2005 - 22:33 #4
hei.. Har "delvist" fået lavet det!

Den ku ik finde mysql serveren...


Men nu skriver den: You have an error in your SQL syntax near 'MX510', '3', '344.00', '0.00', '569', '1114547482')' at line 1

Når jeg prøver at adde et af mine produkter..
Avatar billede bojo Nybegynder
26. april 2005 - 23:57 #5
Den kan nok ikke lide din metode i ('$session_id', '$prod_name', '$_GET[ID]', '$prod_price', '$prod_price_sale', '$prod_weight', '$_POST[now]')

ret så alle variable står udenfor strengen og tabel indexes i ' ' - f.eks:

('". $session_id . "', '" . $prod_name . "', '" . $_GET['ID'] . "',..... osv
Avatar billede busschou Praktikant
27. april 2005 - 07:03 #6
Fik du det til at virke? På din fejlmeddelelse ser det jo ud til at den laver sql stregnen rigtig nok. Så jeg kan ikke umiddelbart se at mysql skulle fortolke det anderledes fordi du i php koden laver det som bojo skriver til sidst ?
Jeg vil til gengæld foreslå dig at fjerne ' omkring de felter som er defineret som tal i tabellen:
--
mysql_query("INSERT INTO cybertape_shopping (session, prod_name, prod_id, prod_price, prod_price_sale, prod_weight, date) values ($session_id, '$prod_name', $_GET[ID], $prod_price, $prod_price_sale, $prod_weight, $_POST[now])");
--
Hvis de da alle er tal :o)
Den skriver ikke værdien på $session_id ud...er du endvidere sikker på den er sat?
Avatar billede qub- Novice
27. april 2005 - 16:55 #7
Det hjælper ikke.. Jer begge!!

busschou >> Min, session er en blanding mellem tal og bogstaver.. Min prod_id er valgt at brugeren selv, eller auto i mysql.. prod_name selvfølgelig bogstaver.. Resten er tal!

Hvorfor skal man da gøre sådan med tal???



Umiddelbart tror jeg at fejlen ligger et sted ved prod_id.. Men jeg ved det ikke!
Avatar billede qub- Novice
27. april 2005 - 17:03 #8
Og for at svare på dit andet spørgsmål, så ja.. Session_id er sat! Den er gemt i en cookie, og jeg kan sagtens udskrive den på samme side
Avatar billede qub- Novice
28. april 2005 - 21:25 #9
Har fundet fejlen... :D

Det er når tegnet: '
bliver brugt.. Fucker det, det op..
Avatar billede busschou Praktikant
28. april 2005 - 21:30 #10
gub- >> Når tegnet ' bliver brugt... hvor?.. i sql sætningen?...som jeg skrev?...bare nysgerrig siden du tog alle points selv
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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