problem med mysql fetch

Tags:    php

jeg har foelgende script:

<?PHP
include("config.inc.php");

function delete_photo($photo_id)
{
$result = mysql_query("
SELECT photo_filename
FROM gallery_photo
WHERE photo_id = '" . addslashes($photo_id) . "'
");
list($filename) = mysql_fetch_array($result);
mysql_free_result($result);

unlink($images_dir . '/' . $filename);

mysql_query("
DELETE FROM gallery_photo
WHERE photo_id='" . addslashes($photo_id) . "'
");
}

//Call: delete_photo(PHOTO_ID);

?>
<form action='#' method='post'>
<input type='hidden' name='pid' value='$pid' />
<input type='submit' name='submitdelpic' value='Sletta Mynd' />
</form>

<?PHP
if(isset($_POST["submitdelpic"])){
$photo_id = 1;
delete_photo($photo_id);
echo"<h1>Myndin er nú sletta </h1>";
};

?>

men jeg får foelgende fejl af scriptet:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/tweakfreak.dk/tweakfreak.dk/httpd.www/gallary/testdel.php on line 11

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /customers/tweakfreak.dk/tweakfreak.dk/httpd.www/gallary/testdel.php on line 12

Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is 472189 is not allowed to access / owned by uid 0 in /customers/tweakfreak.dk/tweakfreak.dk/httpd.www/gallary/testdel.php on line 14
Myndin er nú sletta

så går ud fra det er mysql fetchen der er forkert. da jeg kender flere der også bruger one.com i safemode med unlink


nogen der kan hjaelpe? ville vaere meget glad saa....



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Det er en taste fejl i mysql_query(...)

$result = mysql_query("
SELECT photo_filename
FROM gallery_photo
WHERE photo_id = '" . addslashes($photo_id) . "'
");

skal være


$result = mysql_query("
SELECT photo_filename
FROM gallery_photos
WHERE photo_id = '" . addslashes($photo_id) . "'
");

Petitter som stave-/tastefejl skal du selv kunne klare. Bemærk at fejlmeddelelsers linjenr. næsten altid en større end den aktuelle linje fejlen findes på.

Så se om du at tastet rigtigt. I mange tilfælde er det det der er problemet. Parenteser, tuborgklammer, kantede klammer, simikolon, tastefejl i funktionsnavn, osv...



Indlæg senest redigeret d. 06.01.2008 02:34 af Bruger #10216
det er SQL den er gal med:
SELECT photo_filename
FROM gallery_photo
WHERE photo_id = '" . addslashes($photo_id)

Har du checket om den giver det rigtige...

prøv evt. at skrive $result = mysql_query(...en masse sql...) or die(mysql_error());
Hvis din query ender i fejl, indeholder variablen ikke det rigtige resource id til mysql_fetch_array();

safe mode skulle, så vidt jeg kan se, ikke have indflydelse på unlink().

Hvis du kan, så slå safe mode fra, og lær at kode uden. :) Safe mode udgår med PHP6



oehhh. sry det fattede jeg ikke. jeg er rimelig ny, og har fulgt en tutorial....

min database ser saadan ud:

CREATE TABLE gallery_photos (
photo_id bigint(20) unsigned NOT NULL auto_increment,
photo_filename varchar(25),
photo_caption text,
photo_category bigint(20) unsigned NOT NULL default '0',
PRIMARY KEY (photo_id),
KEY photo_id (photo_id)
) TYPE=MyISAM;

hvad mente du med $result = mysql_query(xxx.xxx.xxx) or die.

hvad skal der staa i xxx.xxx.xxx??

jeg har desvaerre ikke mulighed for at slukke safemode...



damn hvor nice. tusind tak

det var næsten pinligt at jeg havde overset den fejl, har nok brugt over en time uden at se det.

men takker...



t