• 0

check user name and password on database to verify the dataset 


Question

good dayx dear experts  hello to everyone, ;) 
 

 

i have a php-scritp that does not log to the mysql-db. it throws errors all the time: 

 

 please fix the following errors  Try again! Connection with database failed.
Reason: SQLSTATE[HY000] [2002] No such file or directory


i am not sure what goes on - if

 

my guesses 
- i use wrong credentials: 
- Socket-Problems - i.e. with the sockets cf  https://stackoverflow.com/questions/1435445/error-on-creating-connection-to-pdo-in-php

vgl pdo_mysql.default_socket=/opt/lampp/var/mysql/mysql.sock 


as for the credentials: i think i can check them with a script: 


As you see, this form authenticates the user through check_user-pass.php.  Well - It should  look for those credentials on my database; if they exist, returns OK, else returns value NO.

So my question is: exactly what code should I include in check_user-pass.php
I tried to add more code but couldn't do that as well! My current code is:


note: The name in you form is user_name but in your script you look for username

 

 

$username=$_POST['username']; 
should be

$username=$_POST['user_name']; 
EDIT:
If you use crypt to encrypt your password before you put them in the database, try this

$sql="SELECT * FROM $tbl_name WHERE username='$username'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if($count==1){
    $row = mysql_fetch_assoc($result);
    if (crypt($password, $row['password']) == $row['password']){
        session_register("username");
        session_register("password"); 
        echo "Login Successful";
        return true;
    }
    else {
        echo "Wrong Username or Password";
        return false;
    }
}
else{
    echo "Wrong Username or Password";
    return false;
}
EDIT: myBB seems to use a crapload of md5 hashing for their passwords, try this

$sql="SELECT * FROM $tbl_name WHERE username='$username'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if($count==1){
    $row = mysql_fetch_assoc($result);
    if (md5(md5($row['salt']).md5($password)) == $row['password']){
        session_register("username");
        session_register("password"); 
        echo "Login Successful";
        return true;
    }
    else {
        echo "Wrong Username or Password";
        return false;
    }
}
else{
    echo "Wrong Username or Password";
    return false;
}

 

ideas and questions 

 

 

well i just want to verify a set of user-credentials: 


- no encryption - what i want to do is  just a check of a given set of credentials
- this is what i want to do and everything should be fine.


as for the credentials: i think i can check them with a script: 


As you see, this form authenticates the user through check_user-pass.php.

 

_Idea:_ It looks for those credentials on my database; if they exist, returns OK, else returns value NO.

So my question is: exactly what code should I include in check_user-pass.php?
 

 

 

regards 

 

update: 

 

i can do this with a spimple test the connection script too: 

 

 error in establishing db bei dem Versuch ein Script zu installieren. 
 - mit einem Testconnection-Script versucht das weiterzuverfolgen:

<?php
if(function_exists('mysqli_connect')){
if(!($link = mysqli_connect('localhost','username','password','my_db'))){
die('could not connect: ' . mysqli_error($link));
}
} else {
die("don't have mysqli");
}
echo 'connect successfully';
mysqli_close($link);

 

Edited by tarifa

3 answers to this question

Recommended Posts

  • 0

It looks like you're trying to connect to the database using a unix socket which doesn't exist. Can you post the code you're using to establish the database connection?

 

Are you sure the database is listening on a socket, and not on a TCP port? If so, what is the path to that socket?

  • 0
  On 30/09/2019 at 10:13, DaveLegg said:

It looks like you're trying to connect to the database using a unix socket which doesn't exist. Can you post the code you're using to establish the database connection?

 

Are you sure the database is listening on a socket, and not on a TCP port? If so, what is the path to that socket?

Expand  

Good day dear dave 

 

many many thanks for the quick reply.  i have 

 

 

the above mentioned script should help out  - since i am in a situation where i have issues with connecting to a mysql-server - during the installation of a script: 

 

since i get this annoying error in establishing db

 



while trying to install limesurvey on my server i get back the following error

could not connect to the db: reason : SQLSTATE[HY000] [2002] No such file or directory  


 

well Dave i will try the Testconnection-Script (see below) to help out to verify the data

 

see the  Testconnection-Script 

<?php
if(function_exists('mysqli_connect')){
if(!($link = mysqli_connect('localhost','username','password','my_db'))){
die('could not connect: ' . mysqli_error($link));
}
} else {
die("don't have mysqli");
}
echo 'connect successfully';
mysqli_close($link);

 


hopefully i will get more insights

 

 


tried it several times - but without any success;: i googled the error


Quick test (run in shell):

 php -r "new PDO('mysql:hostname=localhost;dbname=test', 'username', 'password');" SQLSTATE[HY000] [2002] No such file or directory means php cannot find the mysql.default_socket file. Fix it by modifying php.ini file. On Mac it is mysql.default_socket = /tmp/mysql.sock (See PHP - MySQL connection not working: 2002 No such file or directory) SQLSTATE[HY000] [1044] Access denied for user 'username'@'localhost' CONGRATULATION! You have the correct mysql.default_socket setting now. Fix your dbname/username/password. Also see Error on creating connection to PDO in PHP



and the following ideas: see an interesting thread on stackoverflow: https://stackoverflow.com/questions/29695450/pdoexception-sqlstatehy000-2002-no-such-file-or-directory

  Quote

 

You need to change host from localhost to 127.0.0.1 Laravel 4: In your app/config/database.php try changing host from localhost to 127.0.0.1 Laravel 5: In the .env file, change DB_HOST from localhost to 127.0.0.1 Source: PDOException SQLSTATE[HY000] [2002] No such file or directory shareeditflag  

Expand  


 

: see an interesting thread on stackoverflow: https://stackoverflow.com/questions/29695450/pdoexception-sqlstatehy000-2002-no-such-file-or-directory

 

Well Dave i hope that i will get more insights with the above mentionend Test the conection-script. 

 

 

love to hear from you 

 

regards 

  • 0

Find out from your hosting provider if the MySQL server is listening on a socket (and if so which path), or only via IP - if so, connect via IP as in the example you just posted. There's no way for us to know how your hosting provider has configured your MySQL server - you need to find this out.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • They've been focusing on security and quality? Could have fooled me. Their own paying customers literally just got breached because they failed to push SharePoint updates downstream to on prem servers operating outside of their "365" ecosystem.
    • The animosity is unnecessary, when I opened the page I only saw one response which never mentioned your other steps, and when I hit reply it jumped straight to the bottom and again, I saw no other responses.  I was simply agreeing with the first comment that said yes, you should be fine if you erase its current operating system. Using another PC, or the copy of Windows that comes on that PC (former option is more trustworthy), download and run the Windows Media Creation tool.  It will walk you thru the process of downloading Windows and writing it to a USB stick.  It will even ask you at one point whether you're reinstalling it to the current machine or installing it on another machine. Then just boot the PC in question from that USB stick.  Usually spamming Esc, Del, F-8, F-9, F-10, F-11, F-12 or F-2 immediately after power on will bring up a boot menu, it varies by manufacturer.  If Windows starts booting you either missed your window or hit the wrong key. Follow the on-screen instructions.  When it gets to the disk formatting part I usually just delete all the partitions on the destination drive, then select the unpartitioned space as my destination.  The Windows installer will then automatically partition the drive as needed. Be prepared to download drivers from the PC manufacturer's website, they may not come bundled with Windows and you may not be able to use things like WiFi or ethernet until you have them.  They "might" work straight away, but they also might not.  Better to be prepared with a spare PC and a USB stick to transfer them over.
    • Wise Disk Cleaner 11.2.5 by Razvan Serea Wise Disk Cleaner is a free disk utility designed to help you keep your disk clean by deleting any unnecessary files. Usually, these unnecessary, or junk files appear as a result of program's incomplete uninstalls, or Temporary Internet Files. It is best if these files are wiped out from time to time, since they may, at some point, use a considerable amount of space on your drives. Wise Disk Cleaner, with its intuitive and easy to use interface, helps you quickly wipe out all the junk files. Using the program is indeed easy. It also works fast when both scanning for files and deleting files. The new Wise Disk Cleaner has more advantages: improved performance, better interface and scans/cleans more thoroughly. Wise Disk Cleaner Free provides lifetime free update service and Unlimited Free technical support. The first Slimming System software Wise Disk Cleaner is the first system slimming tool, which will help you to remove Windows useless files that you don't need, such as Korean IME, Windows Sample music, videos, pictures, Installers and Uninstallers of Updates Patches etc. Wise Disk Cleaner 11.2.5 Build 845 changelog: Added cleaning rules for Legacy Games Launcher, Letasoft Sound Booster, Macrium Reflect, MagicLine4NX, MAGIX Photostory, MakeHuman, Max Recorder, Maxprog iCash, Lexware, LG PC Suite, Lightworks, LINE, Listary, and LockHunter. Improved cleaning rules for Xunlei, PowerToys, Meitu, OneDrive, and Tencent Video. For security reasons, users can no longer delete the latest system restore point in the Restore Center. Enhanced System Slimming. Fixed minor bugs from the previous version. Download: Wise Disk Cleaner 11.2.5 | 6.9 MB (Freeware) Download: Portable Wise Disk Cleaner 11.2.5 | 7.3 MB View: Wise Disk Cleaner Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I keep getting ignored when I ask what you guys mean by nuke it. I described the steps and I keep getting the same generic instructions. Can you look at what I have posted multiple times already and validate what I have described? You can't assume everyone has your level of expertise and can interpret your nuking advice. After this many posts in this thread, I don't think we need the same generic advice about just nuke it and reinstall. It's already been said. So can you please outline the specifics? Made in Ukraine? Are you sure?
  • Recent Achievements

    • Week One Done
      Itbob513626 earned a badge
      Week One Done
    • One Month Later
      Itbob513626 earned a badge
      One Month Later
    • Rookie
      EdwardFranciscoVilla went up a rank
      Rookie
    • Week One Done
      MoJo624 earned a badge
      Week One Done
    • Collaborator
      aeganwn earned a badge
      Collaborator
  • Popular Contributors

    1. 1
      +primortal
      617
    2. 2
      ATLien_0
      236
    3. 3
      Xenon
      156
    4. 4
      +FloatingFatMan
      120
    5. 5
      Michael Scrip
      114
  • Tell a friend

    Love Neowin? Tell a friend!