Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent Error on mysql_connect() - Access denied

I have this code snippet:

$conn = mysql_connect($host, $usr, $pwd);

How can I prevent PHP from printing an error message when MySQL access is denied?

I need exactly this syntax but nothing works for me.

I tried $conn = mysql_connect($host, $usr, $pwd) or false; and $conn = mysql_connect($host, $usr, $pwd) || false; and the following:

try {
    $conn = mysql_connect($host, $usr, $pwd);

    if(!$conn) {
        throw new Exception('Failed');
    }
} catch(Exception $e) {
    // ...
}

PHP always prints an error message that the connection failed. But I just want to return false, if it failed.

like image 580
headacheCoder Avatar asked Sep 20 '11 12:09

headacheCoder


3 Answers

Error printing should not be activated on a production server. Consider changing your php.ini configuration to log error instead of displaying it.

Using @ to silent error message is not a good solution.

like image 70
grunk Avatar answered Nov 02 '22 04:11

grunk


I don't know why you want to, but you can add a @ to surpress php errors?

see: http://php.net/manual/en/language.operators.errorcontrol.php

like image 33
Nanne Avatar answered Nov 02 '22 03:11

Nanne


You shouldn't really be using mysql_connect in PHP 5, as its now deprecated in favour of mysqli and PDO.

But you can probably silence the warning generated by mysql_connect by prefixing with @:

@mysql_connect()

like image 39
JamesHalsall Avatar answered Nov 02 '22 05:11

JamesHalsall