Aerowind Report post Posted October 13, 2007 (edited) So, I'm trying to revive my site House of Pwn, and I'm trying to get everything database based. But I keep getting this error. Can anyone help? $dbuname and $dbserver are not the actual values Warning: mysql_connect() [function.mysql-connect]: Access denied for user '$dbuname'@'$dbserver' (using password: YES) in /home/houseofp/public_html/admin/header.inc on line 12I cannot connect to the database because: Access denied for user '$dbuname'@'$dbserver' (using password: YES) Here's the block of code causing the issue. Line 12 -> $dbh = mysql_connect($dbserver, $dbuname, $dbupass) or die ('I cannot connect to the database because: ' . mysql_error()); //Create Database, if it doesn't exist $sql = "CREATE DATABASE IF NOT EXISTS $dbname"; mysql_query($sql); echo 'Error: ' . mysql_error(); mysql_select_db($dbname); Edited October 13, 2007 by Aerowind Share this post Link to post Share on other sites
Ermabwed Report post Posted October 13, 2007 Hmm, it's not a PHP error It's an MySQL problem Maybe your port is wrong $dbserver -> $sbserver:portnumber (user/password could be wrong too, I'd assume you have checked that though ). Depending on what other options you have to connect to the database, check if you're allowed to connect using those methods (say phpMyAdmin or something like that), if that doesn't work, maybe get in touch with tech support Share this post Link to post Share on other sites
Aerowind Report post Posted October 13, 2007 (edited) Alright, well I decided to make the quick fix and MANUALLY create the database which is not what I was aiming for, because I wanted PHP to behave and work. So it works, and now I want to upload files (image specifically) and submit the name of the file to a database so I can later retrieve that and embed it into the site. Any ideas? I mean I guess I could always have me/other admins of the site manually enter that information but that would create more work that I don't want to do later on, so I just want this all working now. I'm assuming it'll be something to do with move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'], "../uploads/{$_FILES['uploadFile'] ['name']}") EDIT: I might think I have it figured out, but then again I might not, I'll tell you when I test it. EDIT: It did not work. Here's what I have $image = $_FILES[image]; $imagename = $image[name]; $flash = $_FILES[flash]; $flashname = $flash[name]; echo $imagename; echo $flashname; $sql="INSERT INTO $dbgame (GameName, ImageName, FlashFileName, Description) VALUES ('$_POST[gamename]','$imagename','$flashname','$_POST[description]')"; if(!mysql_query($sql)) { echo 'Error: ' . mysql_error(); } It submits, Game Name, and Description, but just puts in blank values for Image Name and Flash File Name. Help? Edited October 14, 2007 by Aerowind Share this post Link to post Share on other sites
Ermabwed Report post Posted October 14, 2007 Hmm, a.) escape string array indices (see "Array do's and don'ts" in the Arrays manual entry). b.) check with the manual for handling file uploads (sorry for this, but can't assume you did everything right since you're having a problem , maybe forgot MAX_FILE_SIZE or set a wrong enctype in the form ). c.) check if $_FILES['image']['error'] is 0 (file upload error messages), same for $_FILES['flash']['error']. d.) I'd be careful with move_uploaded_file and a relative path, uploads will (most likely) go to the server's tmp directory (probably /tmp), so "../uploads/" is "/uploads" instead of "/var/www/uploads/" or wherever you want it to go Share this post Link to post Share on other sites
dejan Report post Posted October 14, 2007 Try to logon (if you can on that server) and try to connect to your database using mysql client (command-line client). It is obvious either you cannot connect because of bad username/password or because or something else. Re-check hostname too. Some MySQL setups do not allow connections from anything else except localhost - think about that too. Share this post Link to post Share on other sites
Aerowind Report post Posted October 14, 2007 Hmm, a.) escape string array indices (see "Array do's and don'ts" in the Arrays manual entry). b.) check with the manual for handling file uploads (sorry for this, but can't assume you did everything right since you're having a problem , maybe forgot MAX_FILE_SIZE or set a wrong enctype in the form ). c.) check if $_FILES['image']['error'] is 0 (file upload error messages), same for $_FILES['flash']['error']. d.) I'd be careful with move_uploaded_file and a relative path, uploads will (most likely) go to the server's tmp directory (probably /tmp), so "../uploads/" is "/uploads" instead of "/var/www/uploads/" or wherever you want it to go My problem is that all the guides for uploading files that are connected to databases are the files are getting uploaded to the database, sure, I want the file uploaded but I just need the name of the file stored in the database and nothing else. So MAX_FILE_SIZE, shouldn't be important, and it doesn't seem like I'd have to physically upload the file for it to retrieve the name (yet). Which is what I'm curious about. Share this post Link to post Share on other sites
Ermabwed Report post Posted October 15, 2007 Well, if you are using a file upload input control you will upload the file even if only to some tmp directory and the $_FILES array will contain the data you want and "The MAX_FILE_SIZE hidden field (measured in bytes) must precede the file input field" makes it clear that in order to upload (or even to fail(!) to upload) anything you'll have to set that control. Easiest way to see if it solves your problem would be to try it, because it certainly doesn't matter if you think it's important or not I'd say it's save to assume that if the official manual tells you to set that input field, they have a reason for it On the other hand if you are not uploading anything, then of course the $_FILES array will be empty. Share this post Link to post Share on other sites
Aerowind Report post Posted October 18, 2007 I figured out what I needed to figure out, I guess it was hard to explain what I wanted. I'm all set now, I just used $_POST to get what was in the name of the form field of both image and flash and then used basename(). Share this post Link to post Share on other sites