Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:02 Der er 18 kommentarer og
1 løsning

update + mysql_affected_rows problem.

<?php

if(!isset($_REQUEST['jobID'])) {
header("Location: jobs.php");
exit;
}

require("includes/config.inc.php");
require("includes/functions.inc.php");
connect($mysql_host, $mysql_user, $mysql_pass, '******');

$jobID = $_REQUEST['jobID'];

$sql = "update sv_jobs set click_count + 1 where id = $jobID";

$result = mysql_query($sql);

if(mysql_affected_rows($result) == 1) {
echo "Success!";
}
else {
echo "Error!";
}

?>

får følgende fejl

Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\Apache2\htdocs\******\read_job.php on line 18
Error!

Nogle der ved hvor det er galt?? For kan ikke lige overskue den. :(
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:04 #1
okey det er noget med den set click_count+1 ting.

når jeg tilføjer "or die(mysql_error());"

får jeg denne fejl.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+1 where id = 14' at line 1
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:06 #2
okey den skulle se sådan her ud.

$sql = "update sv_jobs set click_count=click_count+1 where id = $jobID";

men får stadig samme fejl på mysql_affected_rows. :(
Avatar billede jaw Nybegynder
18. september 2005 - 13:07 #3
if(mysql_affected_rows() == 1) {

} else {
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:09 #4
jam... før fik jeg samme med not a valid mysql link resource...

DOH!

klart når der er fejl i mysql'en.. damn er ved at glo mig blind på det. :D

men jaw du kender rumlen.. hand it over. :D
Avatar billede jaw Nybegynder
18. september 2005 - 13:12 #5
:->

Og hvis din query failer, så er der jo heller ikke nogen link ressource den kan arbejde med, derfor vil du også få fejl på den.
Avatar billede coderdk Praktikant
18. september 2005 - 13:13 #6
Der står "link resource", ikke "result resource" ;)
Avatar billede jaw Nybegynder
18. september 2005 - 13:15 #7
Jo, den arbejder med forbindelsen til databasen og ikke selve forespørgslen, men uden en forespørgsel må den vel nødvendigvis faile?!
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:17 #8
coderdk -> øhhhh result resource står 1 sted på denne side, i din besked??? *forvirret*

Jaw -> ja det er jo logik for burhøns. *G* men den havde jeg ikke lige luret i første omgang. :D

som sagt tidligere... I'll be back. :oD
Avatar billede coderdk Praktikant
18. september 2005 - 13:19 #9
Nope. Prøv at connecte til din database og kør den:

    $link = mysql_connect( "hostname", "username", "password" );
    echo mysql_affected_rows( $link );

Den vil bare returnere 0/false...
Avatar billede coderdk Praktikant
18. september 2005 - 13:20 #10
blackscorpion, Ja, den brokker sig over at der ikke er en valid link resource, det er fordi du gav den en result resource ;)
Avatar billede jaw Nybegynder
18. september 2005 - 13:21 #11
Yea, du har selvfølgelig ret !
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:22 #12
mysqli_affected_rows() returns the number of rows affected by the last INSERT, UPDATE, or DELETE query associated with the provided link parameter. If the last query was invalid, this function will return -1.

Bemærk: For SELECT statements mysqli_affected_rows() works like mysqli_num_rows().

The mysqli_affected_rows() function only works with queries which modify a table. In order to return the number of rows from a SELECT query, use the mysqli_num_rows() function instead.

End of story.
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:23 #13
coderdk -> altså f.eks. i.

$conn = mysql_connect("bla bla bla");

mysql_query("et eller andet");

echo mysql_affected_rows($conn);

?????
Avatar billede coderdk Praktikant
18. september 2005 - 13:23 #14
Præcist! :)
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:25 #15
ahhhh... *bliver jo klog i dag*

men sjovt nok, så har jeg aldrig brugt det, for mener der er andre ting du også kan bruge det i, f.eks. mysql_query osv.

Men det er da kun hvis man arbejder med flere databaser at man behøver det, ikke??
Avatar billede coderdk Praktikant
18. september 2005 - 13:29 #16
mysql_affected_rows() kan kaldes uden en parameter, så bruger den bare den sidst aktive, så vidt jeg husker :)
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:30 #17
jamen det jeg mener, at sætte en specifik parameter til linket, er kun hvis man burger flere databaser. *G*

:D
Avatar billede coderdk Praktikant
18. september 2005 - 13:32 #18
Ja, det ville være en god idé :)
Avatar billede blackscorpion Nybegynder
18. september 2005 - 13:34 #19
hehe okey. :D

men som sagt.. i'll be back. :D
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