dongman5539 2013-05-13 21:08
浏览 34
已采纳

使用mysqli进行每个sql查询时出错

I created a new empty php file with simple function for mysqli query, like this:

$dab = new mysqli($dbHost,$dbUser,$dbPassword,$dbDBName);

function dbq($sql) {
    global $dab;
    $wynik= $dab->query($sql);
    if (!$wynik) {


        printf("Errormessage: %s
", $dab->error);

    }
    return $wynik;
}
dbq('SET CHARACTER SET utf8');
dbq('SET collation_connection = utf8_general_ci'); 

On every query I'm getting blank Errormessage and really don't know what could be a cause here.

Script is connecting with the database without any errors. When I performed a looped query, I recieved blank Errormessage for each repeat.

  • 写回答

1条回答 默认 最新

  • dongna9185 2013-05-14 06:17
    关注
    1. You ought to set proper PHP error reporting in order to see PHP errors
    2. You have to verify connect errors.
    3. You shouldn't echo errors out unconditionally.
    4. Oh, and you have to set charset using the right method

    So, the code would be

    error_reporting(E_ALL);
    ini_set('display_errors',1);
    
    $dab = new mysqli($dbHost,$dbUser,$dbPassword,$dbDBName);
    if ( !$dab )
    {
        throw new Exception(mysqli_connect_error());
    }
    if (!$dab->set_charset('utf8')) {
        throw new Exception($dab->error);
    }
    
    function dbq($sql) {
        global $dab;
        $wynik= $dab->query($sql);
        if (!$wynik) {
            throw new Exception($dab->error);
        }
        return $wynik;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?