Php mysqli和访问同一数据库中的两个不同表

Php mysqli和访问同一数据库中的两个不同表,php,mysql,mysqli,Php,Mysql,Mysqli,最近,我在未定义变量mysqli时遇到了一个错误,我想知道这是因为我在访问同一数据库中的两个不同表吗 $mysqli = new mysqli('localhost', 'myuser', 'qwerty', 'mydb'); if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { //init

最近,我在未定义变量mysqli时遇到了一个错误,我想知道这是因为我在访问同一数据库中的两个不同表吗

$mysqli = new mysqli('localhost', 'myuser', 'qwerty', 'mydb');

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
    //initialise vars
    $username = $_POST['username'];

    $checkRecord = $mysqli->query("SELECT information, blahblah FROM table1 WHERE username='$username' AND field1='$field1' AND field2=$field2");

    if(!$checkRecord->num_rows) 
    {
        echo "nothing retreived";
    }   
    else
    {
        $catch = $checkRecord->fetch_object();

        $newsessionnumber = get_new_session_number($username, $ip, $userAgent);

        $senddata = array(
            'newsessionnumber' => $newsessionnumber,
            'info' => $catch->information, 
            'blahblah' => $catch->blahblah, 
            'username' => $username 
        );

        echo json_encode($senddata); 
    }   
}

function get_new_session_number($username, $ip, $userAgent)
{   
    $mysqli->query("INSERT INTO sessionnumberdispatch VALUES (NULL, '$username', NOW(), '$ip', '$userAgent')");

    $newsessionnumber = $mysqli->insert_id;
    return $newsessionnumber;       
}

$mysqli
对象在
获取新会话号()中无法识别

使用
全局
关键字:

function get_new_session_number($username, $ip, $userAgent)
{   
    global $mysqli;
    $mysqli->query("INSERT INTO sessionnumberdispatch VALUES (NULL, '$username', NOW(), '$ip', '$userAgent')");

    $newsessionnumber = $mysqli->insert_id;
    return $newsessionnumber;       
}

你的错误到底在哪里?你的代码中有另一个SQL注入攻击向量!斯文,我是php和mysql的初学者。如果您能扩展您的评论,我会很高兴的。@juergen,未定义变量:mysqliYou在SQL语句中使用的变量不是通过mysqli\u real\u escape\u string()或$mysqli->real\u escape\u string()传递的。Google
sql注入
获取更多信息。更好的是,不要使用globals或mysqli:)@Ray为什么不使用mysqli?不推荐使用的是mysql,而不是mysqli。@Ray从OP的代码中可以明显看出,他编写的程序性更强。如果你问我,在这种情况下,使用
global
mysqli
(这是非常安全的,可能不如
PDO
,但仍然很好)是有意义的。如果我去掉函数并将其内容移到主要部分,会怎么样?