PHP:抓取 SQL 结果并插入 cookie 值

PHP: Grab SQL result and insert into cookie value

我目前正在尝试 运行 一个 SQL 语句并将结果拉出到它自己的变量中并将其设置为 cookie 值,但我不确定如何解决这个问题并卡在它有一段时间我喜欢一些洞察力。我正在使用 phpmyadmin,我做错了什么?

    <?php
    include("db_connect.php");
    session_start();

    $tbl_name="users_table"; // Table name 

    // username and password sent from form
    $myusername=$_GET['inputEmail'];
    $mypassword=$_GET['inputPassword'];

    $sql="SELECT * FROM $tbl_name WHERE Email='$myusername' and Password='$mypassword'";

    if ($result = $conn->query($sql)) {

        /* determine number of rows result set */
        $row_cnt = $result->num_rows;
        if($row_cnt==1){
    $_SESSION['username']=($myusername);
    $_SESSION['password']=($mypassword);
    $cookie_name1 = "user";
    $cookie_name2 = "content";

    setcookie($cookie_name1, $_SESSION['username'], time() + (86400 * 30), "/"); // 86400 = 1 day
$sql="SELECT Pref_Game FROM $tbl_name WHERE Email='$myusername'";
$result = $conn->query($sql);
$row = $result->fetch_object();
setcookie($cookie_name2,$row->Pref_Game, time() + (86400 * 30), "/"); // 86400 = 1 day
    }
    else {
    echo "<script>
    alert('Wrong email or password entered!');
    </script>";
    }

     $result->close();
    }
    ?>

我假设您正在使用 Mysqli class 查询数据库。您首先需要查询数据库,因为您只是将 $result 变量设置为查询。

$result = $conn->query($sql);

$row = $result->fetch_object();

因此,如果 $sql 包含上面显示的最后一个查询 ("SELECT Pref_Game FROM $tbl_name WHERE Email='$myusername'"),您可以通过 $row->Pref_Game[=13 从 $row 对象中获取值=]

如果查询不止一行,您需要将 $row = $result->fetch_object(); 放在 while 循环中。