> Hi! > > I have a proplem using my perl code to write some data into my mysql > database. When running in consolemode anything works fine, but when > executed by the wwwserver the scripts is processed without errors, > except the data is not written into the database! Any idea how to fixit? > Thanks in advance > Sascha > > PS: the code > > sub generatepins { > > open (GETESTET, ">> /usr/local/httpd/sms/generated.pin"); > open (GENERIERT, "< ./pinanfrage.dat"); > ####db connect und write######## > my $dbh = > DBI->connect("DBI:mysql:database=prepaid;host=localhost", > "root", "sascha28", > {'RaiseError' => 1}); > while(my $reader = <GENERIERT>) > { > chomp($reader); > print GETESTET "$reader\n"; > $dbh->do("INSERT INTO pins (pin, msisdn, value, knd) VALUES > ($reader, 'frei', $wert, '$kunde')"); > } > # Disconnect from the database. > $dbh->disconnect(); > close GENERIERT; > close GETESTET; > > }
First try printing your query. I used to use 'do' but switched to the longer method below. It gives you more control over tracing problems I think. Try something like this: mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database"); @mysql_select_db("$DBName") or die("Unable to select database $DBName"); $query=("INSERT INTO pins (pin, msisdn, value, knd) VALUES(\"$reader\", \"frei\", \"$wert\", \"$kunde\")"); # quote everything. singles would work too $result=mysql_query($query); if (!$result) die ("Query 953 failed."); # I use the line number for the Query - easy to find If that doesn't work, print out $query to see what it *really* contains. If your column values are going to be variables, try something like: $last=$dbh->quote("Beck"); $first=$dbh->quote("Jeff"); $query=qq{insert members (last_name,first_name) values ($last,$first); $result=mysql_query($query); Another trick I use for debugging is to put the following at the top of each script: BEGIN { open (STDERR,">>$0-err.txt"); print STDERR "\n",scalar localtime,"\n"; } It merely puts the error messages into a file in the directory the script is running in. That is a lot easier to find than going through server logs. Make sure you comment it out once the script is running well. -- Amer Neely [EMAIL PROTECTED] Softouch Information Services: www.softouch.on.ca/ Perl / PHP / CGI programming for shopping carts, data entry forms. "We make web sites work!" --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <mysql-unsubscribe-##L=##[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php