jic Skrevet 13. april 2005 Skrevet 13. april 2005 (endret) Får denne feil melding. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/****/*****/sok1.php on line 11 Søket resulterte i 0 resultater Her er linje 9-13 $i = 0; while ($row = mysql_fetch_array($query)) { print $i++; } echo "Søket resulterte i $i resultater \n"; Noen som kan hjelpe meg? Endret 13. april 2005 av jic
Gilbert Skrevet 13. april 2005 Skrevet 13. april 2005 Hvis du er ute etter å telle antall rader, så er vel ikke det den beste måten? http://forum.hardware.no/index.php?showtop...dpost&p=3967852 Mulig det er noe galt i emnefeltet ditt også, kan bare ikke sette fingeren på hva det er
Knast Skrevet 13. april 2005 Skrevet 13. april 2005 Har egentlig ikke så mye peiling på php enda at det gjør noe, men: 1. "print $i++;" hva sier "++" mulig dette rådet er helt på jordet... 2. Tittelen din sier altfor lite om hva posten inneholder. Velg edit på den øverste posten og endre tittelen.
jic Skrevet 13. april 2005 Forfatter Skrevet 13. april 2005 Jeg prøver å lage søke script, men får det ikke til. Har prøvd flere forskjellige script men får det samme feil melding. <? echo "Søk etter nyhet:"; echo "<form action=\"$PHP_SELF?action=search\" method=\"post\"\>"; ?> <table border=0> <td valign=top>Søkeord:</td><td valign=top><input id="keyword" name="keyword" size="32" type="text"><br> <td valign=top><input type=submit value="Søk" name="ok"></td> </table> </form> <?php $action = $_GET['action']; switch($action){ case search: $search = addslashes($keyword); // Dette er denne sikkerhets funksjonen Druber //snakket om. $connection = mysql_connect ( $hostname, $user, $pass) or die("Klarte ikke koble til databasen"); $database = mysql_select_db($database ,$connection); $result = mysql_query("SELECT * FROM wap WHERE midi LIKE '%$search%'", $connection); // som dere ser leter den her i maintext. Det er fordi //maintext er en row i tabellen til phpnews. Denne må dere redigere til det du //trenger. if($search == "%") { // Lar søkeren få en "error" hvis han søker etter % echo "Venligst skriv et annet søkeord!"; } elseif($search == "") { // Lar søkeren få en "error" hvis han søker tomt echo "Venligst skriv et annet søkeord!"; } Else { echo "<br><br><u>Resultatene av søket ditt (<i>$search</i>):<br><br></u>"; While ( $row = mysql_fetch_array( $result ) ) { echo "<</a><br>"; // Dette er koden som viser fram resultatet. Her er //det også en direkte link. Denne vil ikke fungere hvis du har en annen måte på å //vise nyheter osv... break; } } default: echo "<b>ERROR 404!</b> Siden ikke funnnet"; break; } ?> Har prøvd denne også men får samme feil mld. Jeg kommer ikke inn på ftp så får ikke skrevet hele scriptet akkurat nå.
Gilbert Skrevet 13. april 2005 Skrevet 13. april 2005 (endret) Har egentlig ikke så mye peiling på php enda at det gjør noe, men:1. "print $i++;" hva sier "++" mulig dette rådet er helt på jordet... 2. Tittelen din sier altfor lite om hva posten inneholder. Velg edit på den øverste posten og endre tittelen. 1) ++ øker variabel med 1. $variabel = 1; $variabel++; // $variabel = 2; jic: du bør hvertfall legge til følgende: if([b]trim([/b]$search[b])[/b] == "%") { // Lar søkeren få en "error" hvis han søker etter % echo "Venligst skriv et annet søkeord!"; } elseif([b]empty([/b]$search[b])[/b] == "") { // Lar søkeren få en "error" hvis han søker tomt echo "Venligst skriv et annet søkeord!"; } ...eller kanskje slå de sammen: if([b]trim($search) == "%" || empty($search)[/b]) { // Lar søkeren få en "error" hvis han søker etter % eller søker tomt echo "Venligst skriv et annet søkeord!"; } edit: la til -taggen :-) Endret 13. april 2005 av fjartan
jic Skrevet 13. april 2005 Forfatter Skrevet 13. april 2005 Takk skal prøve det senere når ftpen fungerer skikkelig.
jic Skrevet 14. april 2005 Forfatter Skrevet 14. april 2005 Hei! Jge får hele tiden samme feil melding. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in. Har prøvd flere forskjellige script, men er samme feil melding uansett. vet noen hva som kan være grunnen.
Torbjørn Skrevet 15. april 2005 Skrevet 15. april 2005 lathorv, venn deg ellers gjerne til å lese i manualen; http://no2.php.net/manual/en/language.oper...s.increment.php
datapia Skrevet 15. april 2005 Skrevet 15. april 2005 Hei Dette er koden du har skrevet: $i = 0; while ($row = mysql_fetch_array($query)) { print $i++; } echo "Søket resulterte i $i resultater \n"; Du bør heller gjøre slik: $query = "select * from blabla'"; $resultat = mysql_query($query, $db); if(!$resultat) { echo'Kunne ikke foreta spørring'; } while($row = mysql_fetch_array($resultat)) { //Henter ud det du vil ha } Håper dette hjelper..
BlueEAGLE Skrevet 20. april 2005 Skrevet 20. april 2005 Ser ut som at koblingen til databasetjeneren ikke virker som den skal. Prøv dette for å sjekke <?php $dbTjener="localhost"; //Sett inn noe annet om du trenger det $dbBrukernavn="ditt brukernavn" //Har du brukt rett brukernavn? $dbPassord="ditt passord" //Sett inn databasetjenerpassordet her $dbDatabase="din database" //Sett inn navnet på databasen din her. $dbTabell="en tabell i databasen" //Sett inn noe som passer //koble til mysql_connect($dbTjener, $dbBrukernavn, $dbPassord) or die(mysql_error()); //velge database mysql_select_db($dbDatabase) or die(mysql_error()); //Lag litt kode som tester tilkoblingen. $query="SELECT * FROM $dbTabell"; $result = mysql_query($query) or die("Spørringen <p>$query</p>forårsaket feilmeldingen:<br>".mysql_error()); echo 'Spørringen returnerte '.mysql_num_rows($result).' rader.'; Her er det bare å endre de variablene øverst inntil tilkoblingen til databasetjeneren virker. Legge også merke til hvordan all ekstern kommunikasjon til databasetjeneren er feilsjekket med 'or die(mysql_error())'. Dette er fordi mange av mysql_ funksjonene ikke gir feilmelding videre i scriptet selv om de får en feilmelding fra databastjeneren. Håper dette hjelper.
jic Skrevet 20. april 2005 Forfatter Skrevet 20. april 2005 Jeg får ikke det til. Gir opp. Takk for hjelpen alle som har tatt tid til å hjelpe meg.
claus erik Skrevet 20. april 2005 Skrevet 20. april 2005 Jeg lukter en feil i denne linja... $database = mysql_select_db($database ,$connection); Legg til litt på slutten så den blir $database = mysql_select_db($database ,$connection) or die("Klarte ikke å velge database"); for å sjekke det eller mysql_error()
jic Skrevet 21. april 2005 Forfatter Skrevet 21. april 2005 Jeg lukter en feil i denne linja... $database = mysql_select_db($database ,$connection); Legg til litt på slutten så den blir $database = mysql_select_db($database ,$connection) or die("Klarte ikke å velge database"); for å sjekke det eller mysql_error() Hei! Jeg får opp. ERROR 404! Siden ikke funnnet Tror jeg aldri får det til.
claus erik Skrevet 21. april 2005 Skrevet 21. april 2005 404 feil er bare rett og slett fordi den ikke finner filen Så det har ikke så mye med PHP å gjøre. Kontroller filnavn og at serveren virker og prøv igjen?
jic Skrevet 21. april 2005 Forfatter Skrevet 21. april 2005 404 feil er bare rett og slett fordi den ikke finner filen Så det har ikke så mye med PHP å gjøre. Kontroller filnavn og at serveren virker og prøv igjen? Nå får jeg denne feilmelding igjen Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in mobile.mrjic.net/test1.php on line 40
Ildflue Skrevet 21. april 2005 Skrevet 21. april 2005 Ok, et par spørsmål: - Er det din server hvor databasen ligger? - Er det din server hvor siden ligger? Hvis begge svar er nei; Det kan hende at du ikke kan bruke localhost. Jeg kan ikke det hos min host. Dette kan være en grunn. Jeg husker å ha hatt akkurat det samme problemet selv, men jeg kommer ikke på hva det var. Tror det var noe med connection til databasen.
kakkle Skrevet 21. april 2005 Skrevet 21. april 2005 (endret) 1. Du må nok sikkert bruke $_POST[] får å få tak i keyword... Sett inn etter case search: $keyword = $_POST["keyword"]; Regner med Globale verdier er avslått (iom at du bruker $_GET). Bør ihvertfall være det... 2. Kjør alltid en sjekk på spørringen din mot mysql. Bytt ut "$result = mysql_query........" med dette: $sql = "SELECT * FROM wap WHERE midi LIKE '%$search%'"; $result = mysql_query($sql) or die("FEIL I SPØRRING: $sql <br>".mysql_Error()); Da vil du nok få fram en feilmelding som forklarer hva som er feil.. Evt også se at spørringen ikke er slik du vil den skal være... EDIT: Så fremt det er koden i innlegg 5 som gjelder, da Endret 21. april 2005 av kakkle
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå