Avatar billede finnwikke Nybegynder
30. juli 2004 - 12:27 Der er 18 kommentarer

Warning i Mysql

Kan nogen hjælpe ??
Jeg har et "gammelt" php3-script. Når jeg åbner det i browseren får jeg denne fejlmeddelelse

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\phpdev\www\forum3\functions.php3 on line 26

Herunder den linie, der refereres til:

26 $topic = mysql_fetch_array($topic_query);

Mange hilsner
Finn
Avatar billede skau Nybegynder
30. juli 2004 - 12:30 #1
hvorledes ser din select statemant ud (den der lægger svaret ud i topic_query) ?
Avatar billede skau Nybegynder
30. juli 2004 - 12:30 #2
statemant == statement
Avatar billede finnwikke Nybegynder
30. juli 2004 - 12:49 #3
Er det det du savner???



function viewpost ($topicID) {

$topic_query = mysql_query("SELECT TopicName FROM topics WHERE (ID=$topicID)");
$topic = mysql_fetch_array($topic_query);

Jeg kører lokalt med phpdev
På mit webhotel får jeg ikke denne fejlmeddelelse
?>
Avatar billede dadane Novice
30. juli 2004 - 13:05 #4
Spørg den hvad den er trist over med:

echo mysql_error();

Det kan sagtens være TopicName eller ID - der er forskel på hvordan forskellige systemer håndtere store/små bogstaver.

På min lokale computer kan jeg godt slippe afsted med at spørge:

SELECT iD FROM table...

selvom feltet hedder id. Den går ikke på mit web-hotel.
Avatar billede Slettet bruger
30. juli 2004 - 14:22 #5
Når $topic_query ikke indeholder en MySQL result resource, er det fordi noget gik galt i din query. Muligvis var der gået noget galt allerede under åbning af forbindelse til MySQL.

Prøv med denne linie:

$topic_query = mysql_query("SELECT TopicName FROM topics WHERE (ID=$topicID)") or die(mysql_error());
Avatar billede finnwikke Nybegynder
30. juli 2004 - 17:25 #6
Det løste ikke problemet :-(
Mange hilsner
Finn
Avatar billede dadane Novice
30. juli 2004 - 17:28 #7
Nej det løser ikke noget. Hjælper blot til at finde fejlen. Hvilken fejl skrev den?
Avatar billede skau Nybegynder
31. juli 2004 - 13:21 #8
Bare for en sikkerhedsnåls skyld. Du connecter til din egen base med rigtigt usernavn/password - jeg mener det er ikke sådan at du er kommet til at bruge koden til webhotellet (hvis altså brugernavn/password er forskelligt der) ?
Avatar billede michael_stim Ekspert
31. juli 2004 - 13:25 #9
$topic_query = mysql_query("SELECT TopicName FROM topics WHERE ID=$topicID")or die(mysql_error());
Hvad sker der hvis du skriver den sådan her?
Avatar billede finnwikke Nybegynder
31. juli 2004 - 20:05 #10
Jeg har stadigvæk ikke løst problemet.Koderne til databasen er de rigtige.
Avatar billede Slettet bruger
31. juli 2004 - 21:08 #11
finwikke: Ja tak, så meget har vi fattet. Hvilken fejlbesked kommer den med, når du bruger den linie , vi beder dig om at bruge? Når du fortæller os det, kan vi nok hjælpe dig videre, men så længe du bare siger, at det stadig ikke virker, har vi ikke en chance for at hjælpe dig, for der er ikke som sådan noget galt med den kode, du har vist os.
Avatar billede finnwikke Nybegynder
01. august 2004 - 10:04 #12
OK
Hvor skriver jeg denne linie for at få meddelelsen.
Avatar billede Slettet bruger
01. august 2004 - 11:24 #13
Vil det sige, at du bare har sagt, at det ikke hjalp, uden at du havde prøvet?

Du laver bare denne linie:

$topic_query = mysql_query("SELECT TopicName FROM topics WHERE (ID=$topicID)");

om til:

$topic_query = mysql_query("SELECT TopicName FROM topics WHERE ID=$topicID")or die(mysql_error());

Hvis du ikke vil have scriptet til at afslutte, kan du bruge echo i stedet for die i linien.
Avatar billede finnwikke Nybegynder
01. august 2004 - 15:18 #14
Tak for tålmodigheden :-).Ikke alle er eksperter :-(
You have an error in your SQL syntax near '' at line 1
Her er det første af koden
<?php
mysql_connect("localhost","root","");
mysql_select_db("mysql");
function showheader($title) {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE> <?php echo $title ?> </TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<?php
}

function showfooter() {
?>
</BODY>
</HTML>
<?php
}

function viewpost ($topicID) {

$topic_query = mysql_query("SELECT TopicName FROM topics WHERE ID=$topicID")or die(mysql_error());


$topic = mysql_fetch_array($topic_query);
?>
Avatar billede Slettet bruger
03. august 2004 - 02:50 #15
Prøv en gang med denne stump i stedet for samme linie:

$sql="SELECT TopicName FROM topics WHERE ID=$topicID";
$topic_query = mysql_query($sql) or die($sql . mysql_error());

Jeg tror, det er fordi $topicID måske er tomt eller noget i den stil.
Avatar billede finnwikke Nybegynder
03. august 2004 - 16:32 #16
Jeg får stadig fejlmeddelelse.Så det er ikke løsningen :-(
Kunne det skyldes at den php-version jeg har lokalt ikke kan tackle php3-scripts.Hele applikationen er på 6 scripts.Er der en som har lyst til at kigge det efter i sømmende.
Mange hilsner
Finn
Avatar billede Slettet bruger
03. august 2004 - 21:47 #17
Ja, men det er stadig meningen, at jeg gerne vil have fejlmeddelelsen at vide, for nu skulle der gerne stå lidt mere.

Hvis din server har mulighed for at du kan lægge dem som .phps-filer og den dermed viser dem i en syntaksfarvet udgave, kan du prøve det og give et link her. Ellers bare læg dem som txt-filer.

Det er ganske sandsynligt at din lokale server er nyere og derfor er sat op på en mere sikker måde. Hvis det er tilfældet, er det godt nok muligt at rette indstillingerne, så de ligner dem på dit hotel, men det er smartere at rette scriptet til, så det også virker korrekt med de sikrere indstillinger. De fleste webhoteller er nemlig ved at skifte over til dem også, så ellers virker det pludselig heller ikke på hotellet, når de skifter. Heldigvis kan det sagtens lade sig gøre at rette koden til, så den virker på begge typer.
Avatar billede finnwikke Nybegynder
04. august 2004 - 12:20 #18
Tak for din ihærdighed :-)9
Jeg kar lagt php3-filerne + 2sqldumps her
http://finnvikke.dk/localforum.zip
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
Computerworld tilbyder specialiserede kurser i database-management

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