我目前正在尝试运行一个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();
}
?>
答案 0 :(得分:0)
我假设您正在使用Mysqli类来查询数据库。首先需要查询数据库,因为您只将$ result变量设置为查询。
$result = $conn->query($sql);
$row = $result->fetch_object();
因此,如果$ sql包含上面显示的最后一个查询(“SELECT Pref_Game FROM $ tbl_name WHERE Email ='$ myusername'”),您可以通过$ row-&gt; Pref_Game
如果要查询多行,则需要将$row = $result->fetch_object();
置于while循环中。