Leveres argumentet er ikke en gyldig MySQL resultat ressurs?

stemmer
-2

Jeg får denne feilmeldingen når jeg bruker denne koden for folk å legge inn data. Den sender skjemaet vil ikke bli oppført fordi det er ikke nyttig i dette tilfellet:

function some_more_custom_content() {

    $output=<BR>;

    ob_start();

    if ($_REQUEST['code'] != ) {
        $code = $_REQUEST['code'];
        $query=INSERT INTO `fc` (`code`,`datetime`) values (' . mysql_real_escape_string($code) . ', now());
        $result=mysql_query($query);

        while ($fetch_array = mysql_fetch_array($result)) {
            $seconds = time() - strtotime($fetch_array[datetime]);

            if ((time() - $entry['datetime']) < 60*60) {
                echo (The code  . htmlentities($code) . was updated less than an hour ago.);
            } else {
                echo (Inserted  . htmlentities($code) . into the top.);
            }
        }
    }

Noen ide hvorfor?

Publisert på 06/08/2009 klokken 01:55
kilden bruker
På andre språk...                            


3 svar

stemmer
4

INSERTuttalelser ikke returnere en ressurs, de kommer tilbake TRUEpå suksess eller FALSEpå fiasko. Dermed er det ingen ressurs for mysql_fetch_array()å operere på.

(Dette er en av de viktigste årsakene til at folk klager om PHP - dets semantikk er inkonsekvent i beste fall.)

Svarte 06/08/2009 kl. 01:59
kilden bruker

stemmer
2

Legge til Meredith Svar. Du shoul bruke

if($result!==FALSE) {
    // the insert was ok
} else {
    //the inser failed
}
Svarte 06/08/2009 kl. 02:09
kilden bruker

stemmer
0

endring:

$result=mysql_query($query);

med:

$result=mysql_query($query) or die(mysql_error());

vil du se feilen.

Svarte 06/08/2009 kl. 05:03
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more